나는 IDHOLIDAYPACKAGE
이 HolidayPackageVariant 및 HolidayPackage 사이 많은 한에 관계 법인 HolidayPackage을 말한다 테이블 HolidayPackageVariant
에서 복합 기본 키 (IDHOLIDAYPACKAGE, IDHOLIDAYPACKAGEVARIANT)
있습니다.내 EmbeddedId가 최대 절전 모드로 작동하지 않는 이유는 무엇입니까?
내가 HolidayPackageVariant의 compund의 PK 매핑을 수행하려고, 나는 다음과 같은 오류 얻을 : 내가 잘못 여기에 무엇을
Initial SessionFactory creation failed.org.hibernate.annotations.common.AssertionFailure: Declaring class is not found in the inheritance state hierarchy: org.wah.model.holidaypackage.HolidayPackageVariantPrimaryKey
누군가가 말해 주시겠습니까 뭐하는 거지?
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
@coderatchet done. 그것을 지적 주셔서 감사합니다. 더 이상 최대 절전 모드를 사용하지 않아서 내 레이더에서 떨어졌습니다. – brainydexter