什么是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’是一种应用所有级联选项的方法。