cascase 옵션은 언제 쓰는가? 단일 엔티티에 완전 종속적일 때 , 라이프사이클이 동일할 때
=>소유자가 하나일 때! 오직 하나의 객체만이 자신에게 속한 객체들에 사용할 때 cascade 옵션이 유용하다!
단, 소유자(A) 뿐만 아니라 다른 객체들도 소유자(A)에 속한 객체들을 사용하고 있을 때는 쓰면 안 된다. 소유자(A) 때문에 속한 객체 데이터들이 수정되면 참조하고 있던 다른 객체들은 이상한 값을 참조하기 때문이다!
고아 객체 :
참조가 제거된 자식 엔티티는 다른 곳에서 참조하지 않는 고아 객체로
보고 삭제하는 기능
참고: 개념적으로 부모를 제거하면 자식은 고아가 된다. 따라서 고아 객체 제거 기능을 활성화 하면, ⭐️부모를 제거할 때 자식도 함께 제거된다. 이것은 ⭐️CascadeType.REMOVE처럼 동작한다.