강의

멘토링

커뮤니티

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

charco님의 프로필 이미지
charco

작성한 질문수

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

연관관계 메서드에 대한 질문

해결된 질문

작성

·

142

0

연관관계 메서드에서 컬렉션에 굳이 add(this) 를 하는 이유가 뭔가요? 

데이터베이스에는 사실 order 만 외래키를 갖고 있는데

굳이 member 변경감지를 일으킬 필요는 없지 않나요?

//==연관관계 메서드==//
 public void setMember(Member member) {
 this.member = member;
 member.getOrders().add(this);
 }

답변 1

0

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

DB관점이 아닌 객체 관점으로 바라보셔야 합니다.

양방향 연관관계에서

member.getOrders().add(this);

해당 코드가 없다면 Order는 주문자인 member를 알지만

member 입장에서는 내가 주문한 상품이 무엇인지 알지 못합니다.

그렇기 때문에 member에게 주문한 상품을 add 해주어 member와 order가 서로의 정보를 갖게 된다고 보시면 됩니다.(양방향 탐색이 가능)

감사합니다. 

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

답변이 되엇네요 감사합니다~

charco님의 프로필 이미지
charco

작성한 질문수

질문하기