我有型號/實體如下:Java的單表繼承在DB結構中使用JPA /休眠
@Entity
@DiscriminatorColumn(name="type")
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
public class Insurance extends Generic<Insurance> {
@OneToOne public myInsurance.models.liability.hivAndVHProtection.Hiv_Answer hivAndVHProtectionAnswer;
}
@MappedSuperclass
@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
public class Answer extends Generic<Answer> {}
@Entity
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorValue("A")
public class Hiv_Answer extends Answer {
@OneToOne public HivAndVHProtection_Variant variant;
}
@Entity
@Inheritance
@DiscriminatorValue("E")
public class Hiv_AnswerForEntities extends Hiv_Answer {
public int proffesionGroup;
public int personCount;
public int contributionPerPerson;
@Transient public int totalContribution;
}
我想在數據庫有兩個表: Insurance
和Hiv_Answer
我想那實體:Hiv_Answer
和Hiv_AnswerForEntities
表Hiv_Answer
(每股普通ID池)被持久化
我想有表Insurance
關係表Hiv_Answer
f.e.在Hiv_Answer_id
列
我已經嘗試了很多組合與註解。沒有工作就像它supose。
我現在的配置似乎是確定的,但事實並非如此。我得到額外的表格:Hiv_AnswerForEntities
,我根本沒有關係到Hiv_Answer
表格。
看來,改用strategy=InheritanceType.SINGLE_TABLE
從Hiv_Answer
實體使用它strategy=InheritanceType.TABLE_PER_CLASS
從超Answer
我找不到我的錯誤。
請幫我解決這個問題。
可能是你需要@Inheritance在Hiv_AnswerForEntities表? – prabugp
我已將該註釋添加到'Hiv_AnswerForEntities'實體,但沒有任何更改。還是一樣。 – masterdany88