什么是Hibernate中的级联?

sap*_*Pro 25 java hibernate java-ee

什么是Hibernate中的级联?cascade我在map标签中看到了一个属性.它的意思是什么?

是什么cascade = all意思?我读过其他属性
cascade="none|save-update|delete|all-delete-orphan|delete-orphan".

Ste*_*n C 19

级联是关于持久性操作,涉及一个对象通过关联传播到其他对象.级联可以应用于各种Hibernate操作,并且通常是可传递的.定义关联的注释的"cascade = ..."属性表示应该为该关联级联哪些操作.

Cascade ="all"表示应用所有主级联类型.从Hibernate 5.3开始,这些类型是:

  • "删除"/"删除",
  • "分离"/"逐出",
  • "合并",
  • "锁",
  • "坚持",
  • "刷新",
  • "复制",
  • "save_update"/"更新"

(其中一些级联类型名称是旧的和/或已弃用.)

还有三种化合物类型:

  • "all_delete_orphan" - 表示与"all"相同,并且允许删除由级联孤立的实体.
  • "delete_orphan" - 表示"删除"加上孤儿删除.
  • "无" - 意味着没有级联.


Pra*_*t_M 6

级联是Hibernate使用传递持久性模型的方式.传递持久性是一种允许您自动将持久性传播到瞬态(尚未保存在数据库中的对象)和分离的子图(子对象)的技术.例如,新创建的已持久父对象的子对象应该自动变为持久化而不调用save()或persist()方法.

在Hibernate中级联有许多选项,如保存更新,保持,合并,删除等.Cascade ='all'是一种应用所有级联选项的方法.