想要删除子,但不是孩子对其他对象的引用

时间:2011-06-16 14:21:41

标签: java hibernate

假设我有三个对象: 用户,盒子,产品

用户有一个方框,该方框引用了用户在其包装盒中收到的不同产品。

用户基本上可以决定他希望在他的盒子里有哪些产品。

如果删除用户,我也希望删除该框,但我不希望删除这些产品。

我怎样才能在休眠状态下执行此操作?

我的尝试是这样的:

在User.hbm.xml中的

,有一个条目

<many-to-one name="theBox" column="BOX"
    class="com.example.Box"
            unique="true" cascade="all"/>   

然而,这似乎也想要删除产品......

1 个答案:

答案 0 :(得分:1)

不要使用cascade="all"。一切都意味着“全部”。你可以使用save, update。查看transitive persistance上的文档。

从该文档中,您可能想尝试cascade="persist,merge,save-update".