Я пытаюсь создать новое отображение «многие-ко-многим» для себя в спящем состоянии, используя набор длинных идентификаторов (self-id). Какое для него правильное отображение?
Я пытаюсь создать сопоставление между Персоном и его друзьями (Персоны, конечно)
У меня есть карта класса 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>();
}
hibernate 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
Я хочу использовать набор личных идентификаторов:
Set<Long> friendsIds
таким образом я не смогу удерживать весь объект Person (опять же, очень большой) в памяти.
Отображение hibernate xml:
Ожидаемые результаты - таблица сопоставления personId (внешний ключ к tbl_person) к другу (внешний ключ к tbl_person)
Идентификатор этой таблицы является составной частью обоих столбцов.
tbl_friends
personId|friend
1 |2
1 |3
2 |1
Спасибо.