영속성 전이(CASCADE)에 대하여 궁금한 게 있습니다^_^
189
작성한 질문수 1
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 비슷한게 있긴합니다.
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)
[질문 내용]
여기에 질문 내용을 남겨주세요.
안녕하세요,
영속성 전이(CASCADE)에 대하여 궁금한 게 있습니다.
CASECADE.ALL 사용시 부모Parent(@OneToMnay) -> 자식Child(@ManyToOne) 이런식으로 양방향 관계시 하나의 부모가 자식들을 관리를 할때(소유자가 하나인 경우)는 사용을 해도 괜찮다고 말씀을 주셨는데근데 사용을 하면 안되는 경우를 이제 자식Child 엔터티가 Member 엔티티와 @ManyToOne 관계를 가지게 되는 이런 경우를 말씀 하신걸까요 ㅠㅠ?? 아니면 Child에서 Member로 단방향 관계일때는 상관이 없고
// Case 1: 단방향
@Entity
public class Child {
@ManyToOne
private Parent parent;
@ManyToOne
private Member member; // 단방향
}
// ====================================================================================
// Case 2: 양방향
@Entity
public class Child {
@ManyToOne
private Parent parent;
@ManyToOne
private Member member; // 양방향
}
@Entity
public class Member {
@OneToMany(mappedBy = "member", cascade = CascadeType.ALL)
private List<Child> childList = new ArrayList<>();
}멤버에서 차일드를 알게된 양방향 관계일때 문제가 생긴다는 걸까요 ??
다른엔터티랑 CHILD랑 관계가 있다가 어떤 경우인지 이해가 안되서 그렇습니다ㅠ_ㅠ
답변 1
3
안녕하세요. 이용호님, 공식 서포터즈 y2gcoder입니다.
간단한 주문 관련 예시를 하나 가정해보고 싶습니다!
유저, 주문, 리뷰라는 세 엔티티가 있습니다.
리뷰에는 주문도 연관되어 있고, 유저도 연관되어 있습니다 🙂
언뜻 생각하기에는 주문이 cascade로 리뷰를 가지고 있는 게 편할 것 같아 그렇게 설정했습니다 🙂
주문이 삭제될 때는 리뷰도 같이 삭제됩니다.
그런데 만약 주문이 삭제되어도 유저의 마이페이지에서 작성했던 리뷰는 그대로 보여야 한다면?
이럴 때는 주문을 삭제할 때 리뷰도 같이 삭제하면 안됩니다!
이런 케이스에서 cascade 사용을 고려해보셔야 합니다 🙂
감사합니다.
벌크연산에서 member.getAge 호출 시 영속성 컨텍스트에서 데이터를 가져오는건가요?
0
32
2
inheritance startegy 선택시 고려사항
0
24
1
Entity 동등성 비교
0
23
1
실무 조언 관련 질문입니다.
0
48
1
H2데이터베이스 파일 생성
0
58
2
서브쿼리 강의에서 ALL 예시 관련 질문드립니다.
0
55
2
수정또는 삭제시 영속성 엔티티에 값이 무조건 있어야 하나요?
0
57
1
JPQL 메소드와 락
0
55
1
Delivery @OneToOne
0
61
1
17강 4~5분대 테이블 값 조회가 안됩니다.
0
96
2
UnsupportedOperationException 발생
0
86
3
H2 Database 연결이 안됩니다.
0
97
2
연관관계 매핑 질문드립니다.
0
87
2
h2데이터베이스 실행오류
0
109
2
persistence.xml
0
111
2
양방향 연관관계에서 연관관계의 주인(mappedBy)을 왜 꼭 정해야 하나요?
0
83
1
영속성 컨텍스트
0
69
1
JPA 프록시
0
98
1
Native Query와 MyBatis
0
71
1
영속성 컨텍스트는 어떤 메모리에 저장되는건가요?
0
89
1
임베디드 타입 예시 코드 관련 질문
0
120
3
명시적 조인에서 별칭을 주면 왜 객체에 접근할 수 있나요
0
96
3
인텔리제이 패키지 커서 단축키 질문
0
109
2
혹시 현재는 ID 데이터 타입이 String이면 안되나요?
0
149
1





