我正在尝试使用一组长ID(自身ID)创建新的休眠自我多对多映射,正确的映射是什么?
我试图在Person和他的朋友之间创建一个映射(Persons偏离路线) 我有一个Person类映射到tbl_person表。
Person.java
public class Person {
private Long personId;
private String name;
//much more properties in here make this object huge
private Set<Person> friends= new HashSet<Person>();
}
休眠 Person.hbm.xml 映射:
<set name="friends" table="friends" cascade="none" lazy="false">
<key column="friend_id"/>
<many-to-many column="person_id" class="com.kruders.model.bean.Person"/>
</set>
考虑Person类非常大。 而不是:
Set<Person> friends
我想使用一组Person ID:
Set<Long> friendsIds
这样,我将无法在内存中保存整个Person对象(同样很大)。
休眠xml映射:
预期结果是到朋友的映射表personId(tbl_person的外键)(tbl_person的外键) 该表的ID是两列的组合。
tbl_friends
personId|friend
1 |2
1 |3
2 |1
谢谢。