Подтвердить что ты не робот

В чем разница между REMOVE и DELETE?

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

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

Ответ 1

Нет никакой разницы; они являются синонимами.

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

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