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

标签 java hibernate jakarta-ee hibernate-mapping hbm

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

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

我应该使用什么级联类型来反射(reflect)以下内容: 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() 并保存新实例化 transient 实例和对分离实例的持久更改。
  • 第三种类型 - cascade="delete" 告诉 Hibernate 导航到 传递对象时关联并删除持久实例 删除()。
  • 第四种类型是 cascade="all" - 它告诉 Hibernate 级联 保存更新和删除,以及对驱逐和锁定的调用。
  • 第五个cascade="all-delete-orphan" 意思同cascade="all" 但是,除此之外,Hibernate 会删除任何持久实体实例 已从关联中删除(取消引用)(即:从集合中)。
  • 第六 - cascade="delete-orphan" 告诉 Hibernate 删除任何 已从中删除(取消引用)的持久实体实例 关联(即:来自集合)。

希望这些信息对您有所帮助。您只需要选择您真正需要的。

关于java - Hibernate - 从注释到 hbm.xml 的级联类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44501447/

相关文章:

java - 如何在运行时将组件封装到另一个容器中?

mysql - Liquibase Hibernate diff 异常

java - JToggleButton中的JTextPane,忽略鼠标事件?

java - Elasticsearch 5.1 Java API 突出显示

java - 在 JPA 中映射具有复合外键的实体

java - 使用 hibernate 将金额应用于不同的行

java - 部署多个 2.1 EJB 时的 OC4J 10.1.3.4 问题

java - 如何在 Scriptlet 中编写 JSP 表达式标记

spring - 集成测试分布式 Java EE 应用程序

java - 使用 StringBuffer 反转字符串中单词的代码