24

有没有区别:

  • @Cascade(org.hibernate.annotations.CascadeType.REMOVE) 和
  • @Cascade(org.hibernate.annotations.CascadeType.DELETE)?
4

1 回答 1

28

没有区别; 他们是同义词。

文档对此相当沉默,但如果您查看AnnotationBinder.getCascadeStrategy()源代码,两者都被转换为 Hibernate 的“删除”级联类型。

两者都存在的原因(我在这里猜测)是因为 Hibernate 核心一直使用“DELETE”作为级联类型,但 JPA 的 CascadeType 将“REMOVE”指定为常量。Hibernate Annotations 的 CascadeType 是 Hibernate 的 JPA 扩展的一部分,因此具有完整性/一致性。

于 2009-09-25T17:26:27.823 回答