강의

멘토링

커뮤니티

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

성호님의 프로필 이미지
성호

작성한 질문수

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

엔티티 설계시 주의점

연관관계메서드질문

작성

·

312

0

public void setMember(Member member) { this.member = member; member.getOrders().add(this); } public void addOrderItem(OrderItem orderItem) { orderItems.add(orderItem); orderItem.setOrder(this); } public void setDelivery(Delivery delivery) { this.delivery = delivery; delivery.setOrder(this); } }
해당코드들이 연관관계 양방향에서 필요하다는걸알겠는데 첫번째코드는 검색했을떄 보통 나오는형태인데 2,3번쨰는왜 모양이다른지 이해가 잘안가서요 특히 1,3번쨰는 delivery.set이왜바로나오는지....

답변 1

0

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

1.

public void setMember(Member member) {

this.member = member;

member.getOrders().add(this);

}

2.

public void addOrderItem(OrderItem orderItem) {

orderItems.add(orderItem);

orderItem.setOrder(this);

}

3.

public void setDelivery(Delivery delivery) {

this.delivery = delivery;

delivery.setOrder(this);

}

1:1인지 1:N, N:1 인지에 따라 N쪽에 Collection이 포함되어 Collection의 add 메서드가 포함될 수 있습니다.

Collection이 아닌 필드의 경우 setter로 연관관계를 맺어주는 것으로 보시면 됩니다.

 

감사합니다.

성호님의 프로필 이미지
성호

작성한 질문수

질문하기