В чем разница между удалением и удалением в jpa

  1. remove — это стандартная аннотация JPA для удаления сущностей или каскадного удаления связанных сущностей. delete — это расширенная аннотация Hibernate, которая используется для удаления элементов в коллекции или каскадного удаления связанных элементов.
  2. remove должен выполняться внутри транзакции, а delete — нет. remove вызовет методы обратного вызова жизненного цикла сущности, а delete – нет.
  3. remove можно использовать для ассоциаций @OneToOne и @OneToMany, а delete можно использовать только для ассоциаций @OneToMany.
  4. remove пометит сущность как удаленную в памяти, и оператор SQL не будет выполняться до тех пор, пока транзакция не будет зафиксирована. delete немедленно выполняет оператор SQL, но не обновляет состояние объекта в памяти.

Guess you like

Origin blog.csdn.net/m0_61594817/article/details/130248981