Hibernate关联关系 Cascade级联

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hibernate关联关系 Cascade级联相关的知识,希望对你有一定的参考价值。

1、cascade定义的是关系两端对象到对象的级联关系;而inverse定义的是关系和对象的级联关系。

  all : 所有情况下均进行关联操作。 
  none:所有情况下均不进行关联操作。这是默认值。 
  save-update:在执行save/update/saveOrUpdate时进行关联操作。 
  delete:在执行delete时进行关联操作。

 

2、CascadeType

CascadeType.REFRESH:级联刷新,当多个用户同时作操作一个实体,为了用户取到的数据是实时的,在用实体中的数据之前就可以调用一下refresh()方法!

CascadeType.REMOVE:级联删除,当调用remove()方法删除Order实体时会先级联删除OrderItem的相关数据!

CascadeType.MERGE:级联更新,当调用了Merge()方法,如果Order中的数据改变了会相应的更新OrderItem中的数据,

CascadeType.ALL:包含以上所有级联属性。

  (注:以上几种级联操作,只能实在满足数据库的约束时才能生效,比如上边的Order和OrderItem存在主外键关联所以执行REMOVE()方法时是不能实现级联删除的)

CascadeType.PERSIST:级联保存,当调用了Persist() 方法,会级联保存相应的数据

以上是关于Hibernate关联关系 Cascade级联的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate--cascade级联

Hibernate JPA 关联关系

hibernate中多表映射关系配置

hibernate中多表映射关系配置

Hibernate中cascade作用

hibernate基础17:cascade 级联 与 Inverse 反转