1

我正在通过JBoss hibernate 逆向工程为我们的大型数据库生成实体。我希望在实体中看到级联注释,但在生成时没有看到它们。

有没有办法指导休眠考虑外键并生成具有级联注释的实体?

4

1 回答 1

2

不幸的是,尽管这是可能的,但尚未记录在案。它应该记录在6.2.4.3 中。外键

查看hibernate-reverse-engineering-3.0.dtd,元素中有一个级联属性:

  • 外键/多对一
  • 外键/一对一
  • 外键/逆一对一
  • 外键/设置

代码是事实!查看它(hibernate-tools 分支 5.2),我们可以看到 cascade 的可能值:

对于 org.hibernate.tool.hbm2x.pojo.EntityPOJOClass# getHibernateCascadeTypeAnnotation中的休眠: https ://github.com/hibernate/hibernate-tools/blob/5.2/src/java/org/hibernate/tool/hbm2x/pojo/EntityPOJOClass .java#L497 值为
[ all-delete-orphan, delete-orphan, save-update, replicate, lock, evict ]接受多个)。
使用的枚举类型是org.hibernate.annotations.CascadeType

对于 org.hibernate.tool.hbm2x.pojo.EntityPOJOClass# getCascadeTypes中的 JPA : https ://github.com/hibernate/hibernate-tools/blob/5.2/src/java/org/hibernate/tool/hbm2x/pojo/EntityPOJOClass .java#L421 值为
[ persist, merge, delete, refresh, all ]接受多个)。
使用的枚举类型是javax.persistence.CascadeType

于 2017-06-07T10:02:57.263 回答