Hibernate的一对多自关联中的级联删除问题

发布时间:2024-06-05 15:09 发布:上海旅游网

问题描述:

我正在开发一个论坛,论坛的父版块和子版块之间是一对多自关联关系,删除一个父版块对象必须级联删除与之关联的子版块对象。我在Hibernate的映射文件中是这样配置的,应该没错:
<set name="childBoards" cascade="all" outer-join="true">
<key column="PARENTID"/>
<one-to-many class="Board"/>
</set>
<many-to-one class="Board" cascade="none" column="PARENTID" name="parent" not-null="false" outer-join="true"/>
但是就是无法实现一对多级联删除,删除父版块记录之后,子版块记录依然还在,没被删除,这是怎么回事啊?
我已经设置了default-lazy="false"属性了,还是没用。

问题解答:

1)一对多采取了延迟加载策略:lazy="true"默认
2)将多传播持久性(级联)设置为最全面的全部级联(包括孤儿模式):cascade="all-delete-orphan"
3)将维护关系的控制权交给多端:inverse="true"

刚看错了 - -!

热点新闻