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

JMJ님의 프로필 이미지
JMJ

작성한 질문수

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

생성메서드에 대한 질문입니다.

해결된 질문

작성

·

26

0

제가 강의를 듣다가

Order 엔티티의 생성메서드의 파라미터에는 OrderItem의 리스트가 넘어오고,

OrderItem 엔티티의 생성메서드의 파라미터에는 Item 객체가 넘어오는데

 

각각 Order 엔티티의 생성메서드에 OrderItem 리스트가 넘어오는 이유는 주문상품이 있어야 주문이 있기 때문이고, OrderItem 엔티티의 생성메서드에 Item 객체가 넘어오는 이유는 상품이 있어야 주문상품이 있기 때문이라고 이해하면 될까요??

답변 2

0

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

네 생각하신 게 맞습니다!

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다. JMJ님.

질문하신 내용은 주로 객체 지향 설계와 도메인 모델링 관점에서 중요한 핵심을 잘 이해하신 부분입니다. 생성 메서드에서 요구하는 파라미터들은 각 엔티티의 생성 시점에 필요한 의존성을 명확히 하기 위해 존재합니다.

  • Order 엔티티의 생성 메서드: OrderItem 리스트가 파라미터로 포함되는 이유는 “주문”이란 주문 상품의 집합을 의미하기 때문입니다. 즉, 주문이 성립되려면 최소 한 개 이상의 주문 상품이 포함되어야 하며, 이것이 Order 엔티티 생성 시 OrderItem 리스트가 필요하게 되는 이유입니다.

  • OrderItem 엔티티의 생성 메서드: Item 객체가 파라미터로 활용되는 이유는 “주문 상품”이란 특정 상품에 대한 하나의 주문 단위를 의미하기 때문입니다. 따라서, 주문 상품을 생성할 때 해당 상품의 정보가 필요합니다.

관련 강의를 참조하여 더 구체적인 코드 예제를 보시면 이해가 더욱 잘 될 것입니다. 같은 주제를 다루고 있는 기존 질문을 링크로 제공해 드립니다:

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

    • This post discusses why certain objects are passed as parameters to creation methods.
  2. 주문생성 파라미터 질문

    • In this discussion, there is a query about parameters used in order creation and the rationale behind these design choices.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

JMJ님의 프로필 이미지
JMJ

작성한 질문수

질문하기