2 u013179958 u013179958 于 2016.02.26 16:13 提问

如何在Hibernate里配置级联删除?

现在有A和B两个bean,我在A.XML里配置一个B的MANY-TO-ONE
我现在想当删除A的时候,也删除B,如何配置?

 <hibernate-mapping>
    <class name="A" table="A">
        <id name="id" type="java.lang.Integer">
            <column name="ID"/>
            <generator class="sequence">
                <param name="sequence">A_SEQ</param>
            </generator>
        </id>

        <!-- 对应的申请单 -->
        <many-to-one name="B" class="B" column="B"></many-to-one>

    </class>
</hibernate-mapping>

2个回答

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.02.29 07:40
已采纳

在映射文件里:两种方法
1.在父端的one-to-one/many-to-one关系:设置cascade=”delete”或cascade=”all”。
2.在父端的one-to-many关系(map, set, list, bag):设置cascade=”all-delete-orphan”或cascade=”all”。 即可。
你这是在父端,many-to-one的关系,试试第一种方法。

Royal_lr
Royal_lr   Ds   Rxr 2016.02.26 17:19

配置cascade属性为All就行了,,

u013179958
u013179958 现在我没在一的那端写,如果写的话是不是都需要把一的那端设置成set集合,然后配置上cascade="delete"
接近 2 年之前 回复
Royal_lr
Royal_lr 回复据说名字太长不容易被发现: 应该是在一的那端配置cascade
接近 2 年之前 回复
u013179958
u013179958 这样吗
接近 2 年之前 回复
u013179958
u013179958 <many-to-one name="B" class="B" column="B" cascade="All"></many-to-one>
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!