首页 > Web开发 > 详细

hibernate CascadeType属性说明

时间:2019-03-28 15:36:18      阅读:184      评论:0      收藏:0      [点我收藏+]

cascade属性: 指定级联操作的行为(可多选)

  • CascadeType.PERSIST 级联新增(又称级联保存):

获取A对象里也同时也重新获取最新的B时的对象。即会重新查询数据库里的最新数据,并且,只有A类新增时,会级联B对象新增。若B对象在数据库存(跟新)在则抛异常(让B变为持久态),对应EntityManager的presist方法,调用JPA规范中的persist(),不适用于Hibernate的save()方法

  • CascadeType.MERGE 级联合并(又称级联更新)

指A类新增或者变化,会级联B对象(新增或者变化) ,对应EntityManager的merge方法,调用JPA规范中merge()时,不适用于Hibernate的update()方法

  • CascadeType.REMOVE 级联删除

只有A类删除时,会级联删除B类,即在设置的那一端进行删除时,另一端才会级联删除,对应EntityManager的remove方法,调用JPA规范中的remove()时,适用于Hibernate的delete()方法

  • CascadeType.REFRESH 级联刷新

获取order(一或多)对象里也同时也重新获取最新的items(多)的对象,对应EntityManager的refresh(object),调用JPA规范中的refresh()时,适用于Hibernate的flush()方法

  • CascadeType.ALL

包含所有持久化方法
综上:大多数情况用CascadeType.MERGE就能达到级联跟新又不报错,用CascadeType.ALL时要斟酌下CascadeType.REMOVE

hibernate CascadeType属性说明

原文:https://www.cnblogs.com/FocusQi/p/10615248.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!