0

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

目的:

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 个具有相同依赖 Foo 的新 Foo 对象时, foo_rel 表就会更新,因此它只保存最新 Foo 对象的关联。

我所需要的只是将 Foo 与其自身之间的自引用关系保存在关联表中。

谢谢

4

1 回答 1

0

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

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

于 2012-08-21T14:48:17.187 回答