我目前被要求将我们的 POJO 休眠注释转换为 hbm.xml 文件,
但是我遇到了两个无法“翻译”的注释,并且没有找到我的问题的完整答案,
我应该使用什么级联类型来反映以下内容: 1)
@Cascade({CascadeType.PERSIST, CascadeType.REFRESH, CascadeType.REMOVE, CascadeType.SAVE_UPDATE })
2)
@Cascade({CascadeType.MERGE})
提前致谢。
.hbm.xml 文件有 6 种级联注释。您只需选择您真正需要的即可。
cascade="none"
默认类型。它告诉 Hibernate 忽略关联。
cascade="save-update"
告诉 Hibernate 在提交事务以及将对象传递到
save()
或 update()
时导航关联,并保存新实例化的瞬态实例并将更改保留到分离实例。
cascade="delete"
当对象传递给
delete()
时,告诉 Hibernate 导航关联并删除持久实例。
cascade="all"
告诉 Hibernate 级联
save-update
和 delete
,以及调用逐出和锁定。
cascade="all-delete-orphan"
与
cascade="all"
相同,但此外,Hibernate 会删除已从关联(即从集合中)删除(取消引用)的任何持久实体实例。
cascade="delete-orphan"
告诉 Hibernate 删除已从关联(即从集合中)删除(取消引用)的任何持久实体实例。