发布于 2015-11-14 15:17:16 | 296 次阅读 | 评论: 1 | 来源: PHPERZ
对于一对多的关联要想删除一的一端时同时把多的一端也删除掉,一般会配置级联删除
<!-- 多的一端配置 --> <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的瞬时对象也不能