我正在通过JBoss hibernatereverse engineering为我们的大型数据库生成实体。我希望能够看到实体中的级联注释,但是并没有在实体中看到它们。级联删除生成实体
有没有办法指示hibernate考虑外键并生成带级联注释的实体?
我正在通过JBoss hibernatereverse engineering为我们的大型数据库生成实体。我希望能够看到实体中的级联注释,但是并没有在实体中看到它们。级联删除生成实体
有没有办法指示hibernate考虑外键并生成带级联注释的实体?
不幸的是,它没有被记录,尽管这是可能的。 它应该被记录在6.2.4.3. foreign-key。
看hibernate-reverse-engineering-3.0.dtd,有一个级联属性中的元素:
的代码是真的! 看着它(休眠工具分支5.2),我们可以看到级联的可能值:
对于休眠中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。
对于JPA在org.hibernate.tool.hbm2x.pojo.EntityPOJOClass#getCascadeTypes: 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。