Во время изучения hibernate я столкнулся с ситуацией, когда кажется, что Hibernate имеет циклическую ссылку, и я не знаю, как пройти через эту ситуацию.у меня есть два класса родительский
private String uuid;
private String name;
private Set<ChildClass> childclass=new HashSet<ChildClass>();
и вот файл сопоставления для того же
<property name="name" type="string" column="NAME" length="255" />
<set name="childclass" table="Parent_Child" lazy="extra"
cascade="save-update">
<key column="parent_id" />
<many-to-many class="com.test.child.ChildClass" column="child_id"/>
</set>
для дочерних записей следующие
private String name;
private Set<ParentClass> parent=new HashSet<ParentClass>();
private String child_id;
<property name="name" type="string" column="NAME" length="255" />
<set name="parent" table="Parent_Child" inverse="true" lazy="extra"
cascade="save-update">
<key column="child_id"/>
<many-to-many class="com.test.parent.ParentClass" column="PARENT_ID"/>
</set>
, когда япопробовал что-то вроде этого в моем основном коде
tx1.begin();
String query="from ParentClass as pc";
Query query1=session1.createQuery(query);
List list= query1.list();
Теперь здесь кроется настоящая проблема, когда я буду пытаться итерировать список с помощью метода итератора или любого метода сбора, который входит в бесконечный цикл, как родительский объект ссылаетсяchild и снова child имеют ссылку на parent
в моем предстоящем задании у меня есть родительский класс, имеющий так много ссылок на коллекции для дочерних классов, которые имеют отношение многие-к-одному и один-ко-многим.
Таким образом, кажется, что в этом состоянии, когда бы я ни пытался извлечь дочерний элемент из родительской сущности, такой как
parent.getChild().iterator()
, он прибегнет к циклической ссылке.Пожалуйста, предложите мне, как избежать этого или исправить меня, если я на неправильном пути