मेरे आईडी वर्ग लागू करने के लिए विफल रहता है,बाद composit प्राथमिक कुंजी के साथ इकाई के भंडारण के लिए @IdClass का उपयोग करना है, लेकिन इस प्रकार
public class EmployeeId implements Serializable{
public EmployeeId(){}
public EmployeeId(Integer id, String country){
this.id = id;
this.country = country;
}
private Integer id;
private String country;
@Override
public int hashCode(){
return this.getCountry().hashCode() + getId();
}
@Override
public boolean equals(Object o){
boolean flag = false;
EmployeeId myId = (EmployeeId) o;
if((o instanceof EmployeeId)
&& (this.getCountry().equals(myId.getCountry()))
&& (this.id == myId.getId())){
flag = true;
}
return flag;
}
// rest of the code with getters only
}
@Entity
@IdClass(EmployeeId.class)
@Table(name="TBL_EMPLOYEE_FOUR")
public class EmployeeEntityTwo {
public EmployeeEntityTwo(){}
public EmployeeEntityTwo(Integer id,String country, String empName){
this.country = country;
this.employeeId = id;
this.empName = empName;
}
@Id
@Column(name="ID")
private Integer employeeId;
@Id
@Column(name="COUNTRY",length=50)
private String country;
@Column(name="NAME",length=50)
private String empName;
// getters and setters
}
का उपयोग कर यह मेरी मेज
है मेरी इकाई हैcreate table TBL_EMPLOYEE_FOUR(
ID integer,
COUNTRY varchar(50),
NAME varchar(50),
constraint PK_EMP_00239 primary key(ID,COUNTRY)
)
यही वह है जिसे मैं
चलाने की कोशिश कर रहा हूंprivate static void idClassStore(EntityManager em) throws Exception{
List<EmployeeEntityTwo> employees = Arrays.asList(new EmployeeEntityTwo(12, "KENYA", "Ridushi Ogambe"),
new EmployeeEntityTwo(13, "GHANA", "Mikila Hanza"),
new EmployeeEntityTwo(14, "EGYPT", "Abdul Hameed Fagdaul"),
new EmployeeEntityTwo(15, "MOROCCO", "Jamil Mahmoud"),
new EmployeeEntityTwo(16, "LIBERIA", "Robert Damus"));
for(EmployeeEntityTwo employee : employees){
em.persist(employee);
}
}
लेकिन मैं एक अपवाद
Caused by: org.hibernate.AnnotationException: Property of @IdClass not found in entity com.entities.EmployeeEntityTwo: id
के रूप में मैं दृढ़ता प्रदाता के रूप में हाइबरनेट साथ जेपीए उपयोग कर रहा हूँ,
लेकिन @IdClass जो मैं का इस्तेमाल किया है आयात javax.persistence.IdClass की है मिलता है,
इसलिए जहां गलत जा रहा हूँ है,
अपने उत्तर के बगल में स्थित चेकमार्क को दबाएं, ताकि यह स्पष्ट हो गया कि इस प्रश्न का उत्तर दिया गया है। – sharakan
मैं नहीं कर सकता, यह कहता है कि मैं दो दिनों के बाद अपने प्रश्न का उत्तर दे सकता हूं –
मुझे एक ही त्रुटि मिली। त्रुटि संदेश वास्तविक समस्या से मेल नहीं खाता है। बहुत अस्पष्ट –