级联操作的四种类型详解
来源:互联网 发布:易语言调用call源码 编辑:程序博客网 时间:2024/05/16 04:42
前言:使用JPA,创建一对多双向关联实体对象时,需要给一对多的关联指定级联操作。
级联操作有四种类型:级联更新(合并),级联保存,级联刷新,和级联删除。
详情:现在我们分别介绍以上四种级联类型的详细情况。
1.CascadeType.REFRESH 级联刷新(使用场景,当我们从数据库中请求了一条数据,在我们对这条数据进行业务处理的时候,另一个用户可能会修改数据库中的这条数据的记录,那么此时我们就需要进行级联刷新了,否则我们处理的数据就失去了意义。)
2.CascadeType.PERSIST 级联持久化(比如在发出保存订单操作时,会同时发出保存订单项的操作语句) *订单和订单项之间是一对多的关系。
3.CascadeType.MERGE 级联合并 也就是级联更新(当处于游离状态下的对象被修改了,那么与他相关联的实体中的对象也会执行修改,如果开启了级联更新,那么此实体对象的更新会波及到与其关联的实体对象)
4.CascadeType.REMOVE 级联删除 (比如:如果设置了级联删除,当删除订单时,会同时删除对应的订单项,但是需要注意此操作的先后顺序为先删除订单项,再删除订单)
注:即使我们定义了级联操作,也只有在我们使用EntityManage 对象的api方法时才会生效。比如说当我们调用了refresh();方法时,级联刷新才会生效。当调用了remove()方法时,级联删除才会生效。而使用HQL语句进行删除,则不会触发级联删除操作。
好了,对于级联操作的四种类型就介绍完了,在我们的项目中需要根据具体的业务需求合理应用级联操作。
1 0
- 级联操作的四种类型详解
- 详解JDBC驱动的四种类型
- 详解JDBC驱动的四种类型
- C++ 四种类型转换操作符
- 四种类型的css
- NoSQL的四种类型
- 程序员的四种类型
- 程序员的四种类型
- 程序员的四种类型
- 程序员的四种类型
- 程序员的四种类型
- NAT 的四种类型
- NoSQL的四种类型
- 程序员的四种类型
- mutex的四种类型
- 程序员的四种类型
- 四种类型的引用
- NAT的四种类型
- Hibernate Criteria详解
- ANDROID应用架构之MVP实现
- javase 基础:常用的程序设计方法(09.06)
- 判断回文串
- logstash 中的贪婪匹配
- 级联操作的四种类型详解
- [CSU 1808(湖南省赛16)] 地铁 (拆点建图+多源多汇最短路)
- 《C++编程规范——101条规则、准则与最佳实践》笔记007
- 如何安装github以及创建ssh
- IndentationError:expected an indented block错误解决
- null与undefined的区别
- 最长滑动距离问题-暴力搜索
- 设计模式随笔-装饰者模式
- C/C++ socket编程教程之七:回声客户端和迭代服务端客户端