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

인프런님의 프로필 이미지
인프런

작성한 질문수

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

주문, 주문상품 엔티티 개발

생성 메서드와 연관관계 주인 질문드립니다.

해결된 질문

작성

·

345

0


[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예

[질문 내용]

public static OrderItem createOrderItem(Item item,int orderPrice, int count)

강의 중 생성메서드를 구현하는 부분 중

OrderItem 생성메서드를 생성할때 파라미터로 Order order를 추가하지 않은 것에 대한 이유가 궁금하여 질문드립니다.

OrderItem 엔티티에서 order필드가 연관관계의 주인이기에 null이 되면 안된다 생각하였고 그렇기에

생성메서드 파라미터에도 Order order를 꼭 넣어줘야 하는게 아닌지 궁금점이 들어 질문드립니다!!

감사드립니다!

 

답변 1

3

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

주문이 생성되려면, 먼저 주문하려는 제품이 있어야 되는 것은 이해하시리라 생각합니다.

(orderService.order() 로직)

그렇기 때문에 먼저 주문아이템 생성 시점 당시에는 Order에 대한 정보가 없습니다.

이후, order를 생성하는 createOrder()를 보시면 orderItem을 order에 추가하는데요,

addOrderItem이 order와 orderitem의 연관관계를 맺어주고 있습니다.

image

아래의 코드가 강의에서 말하는 연관관계 편의 메서드이고, 주문과 주문아이템이 서로를 알 수 있게끔 관계를 맺어주고 있어서 orderItem의 생성 시점에는 주문 정보를 알 수 없지만, order를 생성할 때 연관관계가 맺어진다고 생각하시면 될 것 같습니다.

image

 

 


.
감사합니다.

인프런님의 프로필 이미지
인프런
질문자

답변 감사드립니다

인프런님의 프로필 이미지
인프런

작성한 질문수

질문하기