Hibernate出现级联删除失败的问题

不羁岁月 提交于 2019-11-27 16:46:53

对于一对多的关联要想删除一的一端时同时把多的一端也删除掉,一般会配置级联删除

<!-- 多的一端配置 -->
<set name="children" inverse="true" cascade="delete">
    <key column="parent_id" />
    <one-to-many class="Department" />
</set>

<!-- 一的一端配置 -->
<many-to-one name="parent" class="Department" column="parent_id" />

不知为何在使用HQL删除的时候会出现不能删除数据有外键关联的错误(Hibernate版本5.0)

DELETE FROM Department d WHERE d.id = :id

而使用如下语句则会级联删除

Department d = session.load(Department.class, id);
session.delete(d);

总结:HQL不能级联删除,new的瞬时对象也不能

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!