orphan-removal
-
JPA에서 `orphanRemoval`과 `CascadeType.REMOVE` 차이JPA 2024. 10. 9. 23:21
개요JPA에서 orphanRemoval과 CascadeType.REMOVE는 엔티티 삭제 시 다른 방식으로 동작한다. 이 둘의 차이를 이해하려면 각각의 개념과 동작 방식을 알아야 한다.orphanRemoval과 CascadeType.REMOVE 기본 동작orphanRemoval부모 엔티티에서 자식 엔티티를 컬렉션에서 제거하면 자식 엔티티가 고아가 되어 자동으로 삭제된다.자식이 부모 엔티티 없이 존재할 수 없도록 한다.CascadeType.REMOVE부모 엔티티가 삭제될 때만 연관된 자식 엔티티가 함께 삭제된다.부모가 삭제될 때 자식도 함께 삭제되는 전이 동작을 의미한다.동일하게 동작하는 경우부모 엔티티가 삭제될 때, 자식 엔티티도 삭제되는 경우.orphanRemoval과 CascadeType.REMOVE..