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のJPA拡張機能の一部であるHibernate AnnotationsのCascadeTypeは、完全性と一貫性の両方を備えています。

于 2009-09-25T17:26:27.823 に答える