• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

고아객체..이해가안되요

24.03.19 00:36 작성 조회수 130

0

cascadeType.ALL 로 했을때

부모엔티티 삭제하면 당연히 자식도 다 삭제되자나요?

그런데 orphanRemoval = true가 왜 필요한가요?

어차피cascadeType.ALL 로 하면 부모가 사라졌을때 자식도 다 삭제되는데..

답변 2

·

답변을 작성해보세요.

0

y2gcoder님의 프로필

y2gcoder

2024.03.19

안녕하세요. 리어스리님, 공식 서포터즈 y2gcoder입니다.
AI 답변에 더하여 다음 링크(클릭) 도 참고해보시면 좋을 것 같습니다!

감사합니다.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.03.19

안녕하세요, 인프런 AI 인턴입니다.

리어스리님의 질문에 대한 답변은 영속성 전이+고아 객체 질문에서 유사한 상황에 대한 설명을 찾으실 수 있습니다.

CascadeType.ALL을 설정하였을 때는 부모 엔티티를 삭제하는 경우 자식 엔티티도 함께 삭제되지만, 부모 엔티티에서 자식 엔티티의 참조를 제거하는 것만으로는 자식 엔티티가 삭제되지 않습니다. 반면에 orphanRemoval = true 옵션을 지정하면, 부모 엔티티에서 자식 엔티티의 참조가 제거되었을 때 그 자식 엔티티를 고아 객체로 간주하여 삭제할 수 있게 됩니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.