public class Person {
private long id;
private String name;
private list<Person> persons;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPersons() {
return persons;
}
public void setPersons(String persons) {
this.persons = persons;
}
}
我希望Hibernate OR Mapping与上面的代码请任何人帮助我。如何添加到该人员类的映射(人员列表属性)。
答案 0 :(得分:0)
首先,我会使用Set而不是List,因为不允许重复。此外,在数据库表中,您需要具有Person_Id(主键)和Parent_Person_Id(引用Person_Id PK的外键)。这将确保一个人(父母)和一组人(关系中的孩子)之间的关系。一个例子是经理和员工。经理是一个人,因此是一个员工,但经理管理着许多员工,在这种情况下,父母是经理,雇员是子女。
所以你的Person类看起来像:
public class Person {
// normal properties/attributes
Set<Person> persons;
// getters and setters
// addPerson to the Set method
}
然后,您可以使用以下映射:
<set name="persons" table="Person" lazy="false" cascade="all-delete-orphan" inverse="false">
<key column="person_id"/>
<one-to-many class="xxx.Person" />
</set>
但是,我发现以下article可能对您自己有用,因为您正在尝试实现自连接。