주문상품 양방향
주문상품과 주문은 다대일 양방향인데
주문상품과 상품은 다대일 단방향으로 하셨는데
첫번째는 양방향으로 설정하신 이유가 뭘까요?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 에어님.
JPA 관련 질문을 해주셨네요. 주문 상품과 주문 간의 연관관계를 양방향으로 설정한 이유와, 주문 상품과 상품 간의 연관관계를 단방향으로 설정한 이유에 대해 고민하셨군요.
1. 주문상품과 주문의 양방향 설정 이유
양방향 연관관계는 주로 두 엔티티 간의 관계를 서로 참조할 필요가 있을 때 사용됩니다.
- 주문(Order): 주문 입장에서는 자신이 가진 모든 주문 상품(OrderItem)을 참조해야 할 필요가 있습니다.
- 주문상품(OrderItem): 주문상품 입장에서도 자신이 속한 주문을 참조하여 관련 정보를 활용해야 할 때가 있습니다.
이러한 이유로 양방향 관계를 설정함으로써 두 엔티티 간의 데이터 접근을 용이하게 할 수 있습니다.
2. 주문상품과 상품의 단방향 설정 이유
원래 단방향 연관관계는 한 방향으로만 참조가 필요할 때 설정됩니다.
- 주문상품(OrderItem): 여기서 주문상품은 특정 상품(Item)을 참조하지만, 상품은 자신이 어떤 주문상품에 포함되어 있는지 알 필요가 없습니다.
- 상품(Item): 상품은 다양한 주문상품에서 참조될 수 있지만, 그 정보가 상품 자체의 로직에서는 불필요할 가능성이 큽니다.
이러한 구조는 관계를 단순화하고, 불필요한 데이터 로딩을 피할 수 있는 장점이 있습니다.
관련된 이해를 돕기 위한 기존 답변을 찾았습니다:
- 게시글 제목: 주문과 주문상품의 연관관계가 이해가 안됩니다
- 게시글 제목: 단방향 엔티티 칼럼에 관해서
위 게시글에서 다양한 연관관계 설정 방법들에 대해 설명하고 있으니 참고하시면 도움이 될 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
OrderServiceTest 상문주문 테스트 시 update 쿼리 문의
0
27
1
sdk 설정 오류
0
68
2
오탈자 - @Transactional
0
62
1
src/test/resources 테스트 경로 문제
0
57
1
상품 등록후 H2 db 출력 순서 바꿀 수 있나요?
0
70
1
MemberRepositoryTest 실행오류
0
90
1
boot 4.x >>> trasasction rolled back log & p6spy(영한님, 수업 자료 업데이트 해주시면 감사하겠습니다!!)
1
195
2
강의 마지막 QueryDSL 사용 부분 질문있습니다
1
153
2
클라이언트에서 isbn과 author 수정 요청을 한 경우에 대해 질문드립니다.
0
56
1
도메인 모델 패턴 vs 트랜잭션 스크립트 패턴
0
80
1
기본 생성자
0
67
1
h2 DB 연결시 jdbc url 변경 이유가 궁금합니다.
0
107
1
멤버서비스테스트 부분에서 막힙니다.
0
174
4
실무에서도 EntityManager를 이용해서 많이 작업하는 편일까요?
0
124
1
초반에 h2 다운로드 과정 꼭 필요한가요?
0
129
2
자신 필드에도 get으로 접근하는 이유가 있을까요?
0
121
1
24분 27초 연관관계 편의 메서드 위치
0
118
1
단건 주문만 가능하게 한건 의도한 부분이신가요?
0
114
2
빌드 툴, Gradle
0
63
1
h2연결은 된 것 같은데 엔티티 테이블까지 작성 후 확인해보아도 테이블이 안보입니다
0
81
2
Repository에서 EntityManager 주입 방식 차이
0
97
1
롬복과 사용자 정의 setter 메서드
0
77
1
주문 목록 조회 fetch join 질문드립니다
0
91
1
dirty checking 질문드립니다.
0
86
1





