自我引用多对多休眠3

时间:2012-08-21 13:15:29

标签: hibernate many-to-many

我使用关联表有多对多的关系:

对象:

Foo
id;
name
Set<Foo> dependencies;

主表:

Foo      
id
name

关联表

foo_rel
parent_id <fk to Foo.id> 
child_id <fk to Foo.id>

在我的Foo.hbm.xml中,我有以下内容

<set name="dependencies" table="foo_rel" inverse="false" lazy="true" cascade="none" >
                <key column="parent_id" />
                <many-to-many column="child_id" class="Foo"  />
 </set>

问题在于每当我创建2个具有相同依赖Foos的新Foo对象时,foo_rel表都会更新,因此它只保存最新Foo对象的关联。

我只需要在关联表中保存Foo和它们之间的自引用关系。

由于

1 个答案:

答案 0 :(得分:0)

忽略这一点。回答我自己的问题:

在保存对象之前,我在某种方法中调用了previousFoo.dependencies.clear()