我想做这个:
人<--多对多---> 人
我想建立一种关系,一个人可以有很多(不止一个)父母,而一个父母可以有很多孩子(不止一个)
我的休眠映射
@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>();
}
这个映射正确吗?如何使这种关系是双向的。这样如果我添加一个父级。应该更新 Parent 的子集合。