什么是Hibernate中的级联?

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

就像cascade = all意味着什么? 我读过其他属性
cascade="none|save-update|delete|all-delete-orphan|delete-orphan"

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

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

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

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

还有三种化合物类型:

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

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

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