none :在保存、更新或删除对象时,忽略其他关联的对象。他是 cascade 属性的默认值。
save-update :当通过 Session 的 save() 、 update() 以及 saveOrUpdate() 方法保存或更新当前对象时,级联保存所有关联的新建的临时对象,并且级联更新所有关联的游历对象。
delete :当通过 Session 的 delete() 方法删除当前的对象时,级联删除所有关联的对象。
all :包含 save-update 以及 delete 的行为。此外,对当前对象执行 evict() 或 lock() 操作时,也会对所有关联的持久话对象执行 evict() 或 lock() 操作。
delete-orphan :删除所有和当前对象解除关联关系的对象。
all-delete-orphan :包含 all 和 delete-ophan 。
注意,很多人在使用 Session 对象的 delete() 方法时,设置了 <set cascade=”delete”> ,如下示例删除图书的一个分类:
Category c = new Category();
c.setId(11);
session.delete(c);
结果没有任何动静,那是因为删除操作没有放在一个事务里面。
Transaction tran = session.beginTransaction();
Category c = new Category();
c.setId(11);
session.delete(c);
tran.commit();
加了事务后,能够删除分类表的数据了。但是对应此分类的图书的数据却只是将关联的分类 ID 修改为了 null, 并没有真正删除。这是为什么呢?主要就是因为我们这里的 Category 对象只是一个临时对象。它在删除之前会被持久化,但它所关联的图书对象却不会被自动持久化。那如何是好?我们修改一下实现代码:
Transaction tran = session.beginTransaction();
Category c = (Category) session.get(Category.class, 11);
session.delete(c);
tran.commit();
这样子就能够级联删除分类和此分类下的图书数据了。
分享到:
相关推荐
Hibernate中Inverse和Cascade的区别.html
\hibernate_配置cascade_及all-delete-orphan.doc
Hibernate cascade (级联).docHibernate_cascade(级联).doc
hibernate cascade 测试demo
hibernate 级联(cascade和inverse)一对多,Jar包,数据库建表语句都好了,只要修改一下,数据库配置文件,就可以使用了,使用junit进行测试。
Hibernate中Cascade和inverse的区别,讲解的很详细
hibernate inverse和cascade的详细讲解,相当详细全面的对inverse和cascade区别和用法的讲解
NULL 博文链接:https://dreamzhong.iteye.com/blog/1273157
Hibernate中cascade和inverse应用
Hibernate中cascade与inverse属性详解
hibernate集合映射inverse和cascade详解.txt
于Hibernate中 cascade 与 inverse 的理解。 您买的Hibernate书是哪一本呢? 孙卫琴的精通Hibernate,还是 深入浅出Hibernate还是那本。。。 我是两本都买了,总体来说还可以,但是,有的地方讲的比较书面化,比如...
深入理解hibernate many-to-one(多对一)及 cascade(级联).
Hibernate fetch lazy cascade inverse 关键字
inverse Hibernate_级联关系说明_-_关于cascade和inverse的用法
haarcascades\haarcascade_eye.xml haarcascades\haarcascade_eye_tree_eyeglasses.xml haarcascades\haarcascade_frontalface_alt.xml haarcascades\haarcascade_frontalface_alt2.xml haarcascades\haar...
hibernate中一对一,一对多,多对多关系的配置,延迟加载,cascade,inverse hibernate查询方式概述,HQL查询,QBC查询,分页,结果集封装方式 ,高级查询 查询的优化,一级缓存,二级缓存,批量查询,注解方式
Hibernate中cascade和inverse的相关
OpenCV+python:人脸检测时人脸识别xml文件:haarcascade_frontalface_default.xml,haarcascade_frontalface_alt2.xml,haarcascade_eye.xml等文件下载