我使用关联表有多对多的关系:
对象:
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和它们之间的自引用关系。
由于
答案 0 :(得分:0)
忽略这一点。回答我自己的问题:
在保存对象之前,我在某种方法中调用了previousFoo.dependencies.clear()
。