[英]How to annotate composition of abstract class instance?
我有一個Person
設計,如下圖所示。 該設計是為了讓一個人從改變自己角色Staff
向Student
, Student
對Faculty
等等。
我想使用休眠注釋將該系統持久化到數據庫。 有誰知道這是怎么做到的嗎?
非常感謝!
因此,您在實體角色和抽象實體角色之間具有1:N的關系。 認為這可能對您有用。
@Entity
public class Person {
// Here you have all roles in some collection.
@OneToMany(mappedBy="person", fetch=FetchType.LAZY)
private List<PersonRole> roles;
...
}
@Entity
public abstract class PersonRole {
@ManyToOne
@JoinColumn(name="PERSON_ID")
private Person person;
...
}
@Entity
public class Staff extends PersonRole {
...
}
也不要忘記設置適當的
@Inheritance(strategy=InheritanceType.<strategy>)
定義如何將類模型映射到關系模型。
編輯:不幸的是,@ MappedSuperclass不能用於關系映射,因此,只要您希望在Person實體中擁有PersonRole集合,就不能在這里使用此選項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.