12분6초 : 쿼리 수 계산 질문입니다.
355
작성자 없음
작성한 질문수 0
List<Order> orders = orderRepository.findAllWithMemberDelivery();
List<OrderDto> result = orders.stream()
.map(o-> new OrderDto(o))
.collect(Collectors.toList());
처음 orders 생성하는데 쿼리 한번 제외하고,
result 생성하는데 쿼리 OrderItem 2개 ,그중 OrderItem 당 Item 2개라서 총 6번이라고 설명해주셨습니다.
근데 저는 OrderItem 엔티티에서
@ManyToOne(fetch = LAZY)
@JoinColumn(name = "item_id")
private Item item;
으로 Item필드가 다대일로 되어있는데
OrderItem 하나 불러올때 Item도 하나 불러오는게 당연하다고 생각하는데 왜 Item을 두개나 불러오는지 모르겠습니다.
그래서 6번 쿼리가 아니라 4번이라고 생각하됩니다 ㅠㅠ 어디에서 잘못이해한걸까요
답변 2
2
죄송합니다. 스프님...
제가 이 때 정신이 없었던 것인지 잘못 답변드렸습니다.
저도 헷갈려서 강의에 있는 쿼리를 봤습니다.

강의 09:48부터 보시면 쿼리들을 볼 수 있는데요!
orderItem을 가져오는 쿼리의 where 문을 보시면 order.id를 조건으로 걸고 있습니다. 1+N이 터지고 있기 때문에 order갯수에 따라 쿼리가 나가므로 2개입니다.
그리고 item을 가져오는 쿼리에서는 item.id 를 조건으로 가져오고 있기 때문에 4개의 쿼리가 나가게 됩니다.
그래서 총 6개가 나오게 됩니다!
혼동을 드려서 정말 죄송합니다...
강의 관련 외 질문입니다.
0
85
2
SpringBoot4 + Hibernate7 모듈 등록 방법 공유
1
102
1
BeanCreationException
0
99
3
Update 후 UpdateMemberResponse 매핑할 때
0
59
1
트랜잭션을 사용 안 할 때 커넥션은 언제 가져오나요?
0
104
2
페이징 + 검색조건 관련해서 질문드립니다.
0
74
1
Query Dsl Q파일 질문입니다.
0
86
1
루트 쿼리라는것은
0
62
1
메서드를 분리하는 기준
0
72
1
findAllWithMemberDelivery 메서드 질문드립니다.
0
116
3
연관관계 매핑을 안 쓸 경우, 사용해야 하는 전략
0
92
2
fetch join과 영속화와 OSIV의 관계
0
92
2
Distinct 사용 전 결과에 대한 의문
0
121
2
레포지토리 계층에서의 트랜잭션에 대한 의문
0
63
1
영속성 컨텍스트 생명주기의 신기한 부분이 있습니다.
0
79
2
dto 필드 속 엔티티 여부
0
64
1
뷰템플릿 사용 시
0
83
2
Result 클래스 관련 질문
0
58
1
@PostConstruct 프록시 관련 질문드립니다
0
88
1
DTO 대신 Form 사용은 안되나요?
0
140
1
OSIV ON 상태일 때
0
100
1
fetch join VS fetch join 페이징 궁금증
0
191
2
양방향 연관관계 알아보는 법?
0
110
1
16강 17강 간단 정리 이게 맞을까요 ?
0
169
2





