2017-06-12 28 views
0

我目前要求转换我们的POJO休眠注释的hbm.xml文件,休眠 - 从注释层叠类型的hbm.xml

但我遇到两个注解来了,我无法“翻译”,并没有按“找不到一个完整的回答我的问题,

我应该使用什么类型的级联,以反映如下: 1)

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

2)

@Cascade({CascadeType.MERGE}) 

在此先感谢。

回答

0

.hbm.xml文件有6种类型的级联注释。

  • 第一种类型是cascade="none" - 默认类型。它告诉Hibernate 忽略关联。
  • 第二种类型是cascade="save-update" - 这种类型的告诉Hibernate 导航关联时事务被提交,当 对象被save()或update(),并保存新实例化 短暂的情况下,坚持变化对脱管实例。
  • 第三种 - cascade="delete"它告诉Hibernate导航 关联,并在对象传递到 以删除()时删除持久实例。
  • 第四种类型是cascade="all" - 它告诉Hibernate级联 save-update和delete,以及调用evict和lock。
  • 第五个cascade="all-delete-orphan"表示与cascade =“all” 相同,但是,此外,Hibernate删除已从关联(即:从集合中删除(取消引用))的任何持久实体实例 。
  • 第六个 - cascade="delete-orphan"告诉Hibernate删除已从 关联(即:从集合中移除(取消引用))的任何 持久实体实例。

我希望这些信息能帮到你。你只需要选择你真正需要的东西。

+0

感谢您的答复,但一切都在生产和现在工作,我们一直注释,因为没有适当的答案可能foudn,但对于我个人的“文化”,如果我按照你的解释,没有可能使用CascadeType.MERGE与hbm .xml? – Erunayc