【criteria CascadeType】级联的不同情况

简介: 使用criteria进行增删改查操作,可能会发生级联删除的情况,例如对员工表进行删除,可能会级联删除掉部门表中的某一条信息【类似这样的情况】   对此,我们可以在实体类中对级联的关系进行管理:     对于criteria 的  CascadeType属性说明一下:【转】 CascadeType.PERSIST只有A类新增时,会级联B对象新增。

使用criteria进行增删改查操作,可能会发生级联删除的情况,例如对员工表进行删除,可能会级联删除掉部门表中的某一条信息【类似这样的情况】

 

对此,我们可以在实体类中对级联的关系进行管理:

 

 

对于criteria 的  CascadeType属性说明一下:【转】

CascadeType.PERSIST只有A类新增时,会级联B对象新增。若B对象在数据库存(跟新)在则抛异常(让B变为持久态) 

CascadeType.MERGE指A类新增或者变化,会级联B对象(新增或者变化) 

CascadeType.REMOVE只有A类删除时,会级联删除B类; 

CascadeType.ALL包含所有; 

CascadeType.REFRESH没用过。 

综上:大多数情况用CascadeType.MERGE就能达到级联跟新又不报错,用CascadeType.ALL时要斟酌下CascadeType.REMOVE 

 

相关文章
|
6月前
|
Java 数据库连接
Hibernate中使用Criteria查询及注解——( EmpCondition)
Hibernate中使用Criteria查询及注解——( EmpCondition)
|
Java 数据库连接
Hibernate中使用Criteria查询及注解——(HibernateUtil)
Hibernate中使用Criteria查询及注解——(HibernateUtil)
|
缓存 Java 数据库连接
Hibernate一对多关联的两个关键属性cascade和inverse(十一)
Hibernate一对多关联的两个关键属性cascade和inverse(十一)
122 0
Hibernate一对多关联的两个关键属性cascade和inverse(十一)
|
SQL Java
Hibernae的Criteria 查询(十七)
Hibernae的Criteria 查询(十七)
165 0
|
SQL 存储 缓存
hibernate(六) cascade(级联)和inverse关系详解
写这篇文章之前,自己也查了很多的资料来搞清楚这两者的关系和各自所做的事情,但是百度一搜,大多数博文感觉说的云里雾里,可能博主自己清楚是怎么一回事,但是给一个不懂的人或者一知半解的人看的话,别人也看不懂其中的关系,所以我自己写博文的时候,会尽量用通俗通俗在通俗的语言去描述一个概念,希望能尽自己的力量去帮助你们理解。光看我的是不行的,最关键的是要自己动手去实践一遍,能得出一样的结论,那就说明懂了,在我不懂的时候,我就去自己实现它,一次次尝试,慢慢的就总结出规律了。
134 0
|
Java 数据库连接
Hibernate Criteria 模糊查询
版权声明:本文首发 http://asing1elife.com ,转载请注明出处。 https://blog.csdn.net/asing1elife/article/details/82732076 ...
1352 0
|
Java 数据库连接
hibernate Criteria(条件查询接口)
Criteria(条件查询接口) // 1.简单查询 List list = session.createCriteria(Customer.class).list(); // 2.
1287 0
|
Java 数据库连接 数据库
【hibernate criteria】hibernate中criteria的完整用法 转
---恢复内容开始--- 转自:http://www.360doc.com/content/090313/10/26262_2794855.html   1、Criteria   Hibernate 设计了 CriteriaSpecification 作为 Criteria 的父接口,下面提供了 Criteria和DetachedCriteria 。
1580 0