我正在通过JBoss hibernate 逆向工程为我们的大型数据库生成实体。我希望在实体中看到级联注释,但在生成时没有看到它们。
有没有办法指导休眠考虑外键并生成具有级联注释的实体?
我正在通过JBoss hibernate 逆向工程为我们的大型数据库生成实体。我希望在实体中看到级联注释,但在生成时没有看到它们。
有没有办法指导休眠考虑外键并生成具有级联注释的实体?
不幸的是,尽管这是可能的,但尚未记录在案。它应该记录在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。