Hibernate - 从注释到 hbm.xml 的级联类型

问题描述 投票:0回答:1

我目前被要求将我们的 POJO 休眠注释转换为 hbm.xml 文件,

但是我遇到了两个无法“翻译”的注释,并且没有找到我的问题的完整答案,

我应该使用什么级联类型来反映以下内容: 1)

@Cascade({CascadeType.PERSIST, CascadeType.REFRESH, CascadeType.REMOVE, CascadeType.SAVE_UPDATE })

2)

@Cascade({CascadeType.MERGE})

提前致谢。

java hibernate jakarta-ee hibernate-mapping hbm
1个回答
8
投票

.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 删除已从关联(即从集合中)删除(取消引用)的任何持久实体实例。

© www.soinside.com 2019 - 2024. All rights reserved.