मैं मेज HolidayPackageVariant
जहां IDHOLIDAYPACKAGE
HolidayPackageVariant और HolidayPackage जो कई एकके रिश्ते के साथ इकाई HolidayPackage को संदर्भित करता है में एक यौगिक प्राथमिक कुंजी (IDHOLIDAYPACKAGE, IDHOLIDAYPACKAGEVARIANT)
है।हाइबरनेट में मेरा एंबेडेड आईडी क्यों काम नहीं कर रहा है?
जब मैं HolidayPackageVariant में compund पी मानचित्रण करने की कोशिश, मैं निम्न त्रुटि हो:
Initial SessionFactory creation failed.org.hibernate.annotations.common.AssertionFailure: Declaring class is not found in the inheritance state hierarchy: org.wah.model.holidaypackage.HolidayPackageVariantPrimaryKey
कोई मुझे बता सकते हैं क्या मैं गलत यहाँ कर रहा हूँ?
मेरी POJOs इस तरह दिखेगा:
HolidayPackageVariant:
@Entity
@Table(name="HOLIDAYPACKAGEVARIANT")
public final class HolidayPackageVariant {
private HolidayPackageVariantPrimaryKey idCompound;
@EmbeddedId
public HolidayPackageVariantPrimaryKey getIdCompound() {
return idCompound;
}
// other code
}
HolidayPackageVariantPrimaryKey
@Embeddable
public final class HolidayPackageVariantPrimaryKey implements Serializable {
private Integer idHolidayPackageVariant;
private HolidayPackage holidayPackage;
public HolidayPackageVariantPrimaryKey(){}
public HolidayPackageVariantPrimaryKey(int id, HolidayPackage pkg){
setIdHolidayPackageVariant(id);
setHolidayPackage(pkg);
}
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "IDHOLIDAYPACKAGEVARIANT", nullable = false)
public Integer getIdHolidayPackageVariant() {
return idHolidayPackageVariant;
}
@Id
@ManyToOne(fetch=FetchType.LAZY, cascade={CascadeType.ALL})
@JoinColumn(name="IDHOLIDAYPACKAGE", nullable=false)
public HolidayPackage getHolidayPackage() {
return holidayPackage;
}
// equals and hashCode
}
HolidayPackage
public final class HolidayPackage {
private Set<HolidayPackageVariant> holidayPackageVariants = new HashSet<HolidayPackageVariant>(0);
@OneToMany(fetch=FetchType.LAZY, cascade={CascadeType.ALL}, mappedBy = "idCompound.holidayPackage")
public Set<HolidayPackageVariant> getHolidayPackageVariants() {
return holidayPackageVariants;
}
// other code
}
हाय @brainydexter, क्या आप इस प्रश्न का सही उत्तर बदल सकते हैं? मुझे इसे ठीक करना पड़ा था और फिर यहां वापस आकर जवाब पोस्ट कर दिया कि यह पहले से ही वहां था। – coderatchet
@ कोडरैटचेट किया गया। इस पर ध्यान दिलाने के लिए धन्यवाद। अब हाइबरनेट सामान नहीं कर रहा है इसलिए यह मेरे रडार से गिर गया। – brainydexter