1
自引用關聯我想這樣做:許多一對多處於休眠
人<大多都支援一對多--->人員
我希望有一個關係,其中一個人可以有許多(不止一個)的父母和一個家長可以有很多孩子的(不止一個)
我的Hibernate映射
@Entity
class Person{
@Id
@Column
long id;
@Column
String name;
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JoinTable(name = "Person_Parent",
joinColumns={ @JoinColumn(name = "parent_ID") },
inverseJoinColumns = { @JoinColumn(name = "child_ID")})
private Set<Person> parent = new HashSet<Person>();
@JsonIgnore
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JoinTable(name = "Person_Parent",
joinColumns={ @JoinColumn(name = "child_ID") },
inverseJoinColumns = { @JoinColumn(name = "parent_ID")})
private Set<Person> child = new HashSet<Person>();
}
這是映射關係是否正確?如何使這種關係成爲雙向的。所以如果我添加一個父。父母的孩子收集應該更新。
你嘗試過嗎?它工作?有什麼例外?我們在這裏不做代碼審查(不要試圖粗魯),請解釋您面臨的問題,以便我們提供幫助。 –
通常情況下,您可以在'@ ManyToMany'註釋中映射反轉端與'mappedBy'屬性,而不是再次指定映射細節。您也可能想要命名「父母」和「孩子」字段,以使代碼更清晰。 –
@AnanthaSharma是的,我做了,當我添加父/子時,我得到無限遞歸。當這個人有另一個父母。也在雙向映射,當我添加一個家長的子集合應級聯正確?但不是。我試着用mappedBy。但這個問題沒有得到解決。 –