인프런 커뮤니티 질문&답변
Item, OrderItem 연관관계
해결된 질문
작성
·
173
0
안녕하세요 엔티티 연관관계에대해 공부하던 중 질문이 생겨 글 남깁니다!
Order에서 주문이 들어가면 Item에있는 stockQueantity가 하나씩 줄어든다고 했는데 OrderItem->Item의 단방향 연관관계이면 Item에서는 어떤게 주문이 들어갔는지 어떻게 알고 하나씩 줄어드나요??
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
해톨님의 질문에 해당하는 유사한 상황을 해결하는 정보를 찾았습니다.
주문(Order)과 주문 상품(OrderItem), 상품(Item) 간의 관계에서 OrderItem을 통해 주문이 이루어지면 Item의 stockQuantity가 줄어드는 로직에 대한 궁금증이 있으신 것 같습니다. 주문 시 Item의 재고를 하나씩 줄이는 방법에 대해 궁금하신 경우, OrderItem에서 Item으로의 연관관계가 구성되어 있기 때문에 OrderItem을 통해 특정 Item에 접근하여 재고를 관리할 수 있습니다.
이와 유사한 상황이 OrderItem - Item 관계에 대해 궁금합니다.에서 논의되었습니다. 여기서 주요 포인트는 하나의 상품(Item)이 여러 주문(OrderItem)에 포함될 수 있으며, 이를 통해 주문 시점에 상품의 재고(stockQuantity) 감소 등의 로직을 처리할 수 있다는 점입니다.
또한, 단방향 엔티티 칼럼에 관해서에 제시된 내용처럼 Order 엔티티와 Item 엔티티 사이에서 OrderItem을 매개체로 사용하여 주문 상품에 대한 관계를 정의하고 관리하는 방법에 대해서도 통찰을 얻을 수 있습니다. 이는 OrderItem을 사용하여 주문과 상품 간의 관계를 관리하는 패턴에 대한 예시이며, 주문이 이뤄질 때 Item의 stockQuantity를 어떻게 관리할지에 대한 해결책을 제시합니다.
질문자님이 언급한 상황에서는, 특정 OrderItem에 대해 처리되는 주문에 연결된 Item의 stockQuantity를 줄이는 로직은 OrderItem 엔티티 내, 혹은 주문 처리 로직을 담당하는 서비스 계층에서 구현될 수 있습니다. 이 과정에서 OrderItem은 Item 엔티티에 대한 참조(예: @ManyToOne 관계)를 통해 특정 Item의 정보와 stockQuantity에 접근하고, 주문 처리 시 해당 값이 감소하도록 로직을 설계하게 됩니다.
이해를 돕기 위한 추가적인 정보나 예제가 필요하시면 다음 링크를 참조하세요: 실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 강좌 내용을 더 확인하시면 구체적인 구현 방법에 대해 배울 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





