인프런 커뮤니티 질문&답변

adamku님의 프로필 이미지

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

엔티티 설계시 주의점

Casecade

21.07.11 00:55 작성

·

154

1

Casecade 옵션은

부모에 걸지 부모가 아닌곳에 걸지

상황에따라  다른건가요 ?

답변 2

6

OMG님의 프로필 이미지

2021. 07. 11. 18:28

안녕하세요. adamku님, 공식 서포터즈 OMG입니다.

영한님의 답변을 기다리고 있었습니다.

질문하신 부분에 대해서 예시를 들어드릴게요,

작성한 글을 Post 클래스라고 하고 답변은 Comment라 하겠습니다.

지금 adamku님이 작성한 글과 영한님과 제 답변이 있습니다. adamku님의 글(Post)이 One 답변(Comment)이 Many가 됩니다.

---

두 가지 상황이 있습니다.

1. 글을 삭제하면 댓글이 삭제된다.

2. 댓글을 삭제하면 글이 삭제된다.

논리적으로 봤을 때 댓글을 삭제한다고 해서 글이 삭제되는건 이상하다고 보거든요?

---

위에서 설명한 상황을 코드로 옮겨 볼게요.

cascade옵션이 REMOVE인 것을 봐주세요.

저는 글과 댓글의 관계로 이해하니까 살짝 감이 잡히더라구요, 영한님 말씀대로 어디에 작성하건 상관은 없지만 논리적으로 맞는 곳에 작성하는게 좋아보입니다. JPA-기본편의 부모-자식의 예시로 설명된 고아객체 관련된 내용도 이와 연관이 있으니 이 부분에 대해서도 추가적인 학습하시는걸 권장드립니다.

감사합니다.

adamku님의 프로필 이미지
adamku
질문자

2021. 07. 14. 01:12

우왕 감사합니다

1

김영한님의 프로필 이미지
김영한
지식공유자

2021. 07. 11. 16:01

안녕하세요. adamku님

Casecade옵션은 현재 애플리케이션 상황에 따라 필요한 곳에 설계하시면 됩니다.

감사합니다.

adamku님의 프로필 이미지
adamku
질문자

2021. 07. 14. 01:12

감사합니다!!

adamku님의 프로필 이미지

작성한 질문수

질문하기