【criteria CascadeType】级联的不同情况
2016-09-09 13:19
260 查看
使用criteria进行增删改查操作,可能会发生级联删除的情况,例如对员工表进行删除,可能会级联删除掉部门表中的某一条信息【类似这样的情况】
对此,我们可以在实体类中对级联的关系进行管理:
![](https://images2015.cnblogs.com/blog/978388/201609/978388-20160909131658301-376765170.png)
对于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
对此,我们可以在实体类中对级联的关系进行管理:
![](https://images2015.cnblogs.com/blog/978388/201609/978388-20160909131658301-376765170.png)
对于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
相关文章推荐
- 大数据
- java学习书籍
- Java的HashMap和HashTable
- php-MediaInfo
- 网站跨站点脚本,Sql注入等攻击的处理
- R语言培训-第二期
- 搞明白这八个问题,Linux系统就好学多了。
- Centos7 PostgreSQL安装
- "俄罗斯雅虎”Rambler.ru被黑,近一亿密码被窃
- 寻找插入位置
- VS2013 MFC里父对话框里通过按钮打开子对
- 望江
- 升级至4K超高清12G-SDI接口时需要考虑的三件事
- validate针对checkbox、radio、select标签的验证
- Stylish: http://bbs.csdn.net/topics/
- android tabActivity监听返回键无效
- [BZOJ1066][SCOI2007]蜥蜴
- R培训-第一期
- mysqli_fetch_assoc与mysqli_result::fetch_assoc区别
- 剑指offer面试题25:二叉树中和为某一值得路径