Вопрос

Есть ли разница между:

  • @Cascade(org.hibernate.annotations.CascadeType.REMOVE) и
  • @Cascade(org.hibernate.annotations.CascadeType.DELETE)?
Это было полезно?

Решение

Нет никакой разницы;это синонимы.

В документации об этом ничего не говорится, но если вы посмотрите AnnotationBinder.getCascadeStrategy() исходный код, оба переводятся в каскадный тип «удалить» Hibernate.

Причина, по которой оба существуют (и я предполагаю здесь), заключается в том, что ядро ​​​​Hibernate всегда использовало «DELETE» в качестве каскадного типа, но CascadeType JPA определяет «REMOVE» как константу.CascadeType Hibernate Annotations, являющийся частью расширения Hibernate JPA, таким образом, обеспечивает как полноту, так и согласованность.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top