【发布时间】:2009-09-25 10:06:49
【问题描述】:
有没有区别:
- @Cascade(org.hibernate.annotations.CascadeType.REMOVE) 和
- @Cascade(org.hibernate.annotations.CascadeType.DELETE) ?
【问题讨论】:
标签: hibernate annotations cascade cascading-deletes
有没有区别:
【问题讨论】:
标签: hibernate annotations cascade cascading-deletes
没有区别;它们是同义词。
文档对此相当沉默,但如果您查看 AnnotationBinder.getCascadeStrategy() 源代码,两者都被转换为 Hibernate 的“删除”级联类型。
两者都存在的原因(我在这里猜测)是因为 Hibernate 核心一直使用“DELETE”作为级联类型,但 JPA 的 CascadeType 将“REMOVE”指定为常量。 Hibernate Annotations 的 CascadeType 作为 Hibernate 的 JPA 扩展的一部分,因此具有完整性/一致性。
【讨论】: