본문 바로가기

강의 내용 정리/스프링부트와 JPA 활용 2

4-7. 주문 조회 V6: JPA에서 DTO로 직접 조회, 플랫 데이터 최적화

//order, orderitem, item 다 조인해서 한번에 가져오는 것

 

orderItems 조인하는 과정에서 oi 개수만큼 데이터 뻥튀기 된다. (앞에서 한 내용.)

 

당연히 이렇게 4row가 조회된다.

 

일대다 조인했기 때문에 다 쪽 개수에 맞춰짐(조인의 속성 (일쪽이 다쪽에 개수 맞춰짐(중복으로 생성됨.).)). 

V6의 장점 : 단 한번 쿼리로 된다. -> 

order를 기준으로 페이징 불가능, oi를 기준으로 페이징 가능 (앞에서랑 똑같음.)

 

 

 

 

하지만 이 때 반환 타입을 OrderQueryDto로 맞추고싶다. OrderFlatDto를 ORderQueryDto로 맞추자.

-> 어떻게든 발라내자.

 

훑어만 보자. 메모리에서 돌림.

 

걍 봐라

장점 : 쿼리 1번

중복판단기준을 orderId로 정해준다.

 

페이징 안되는 이유 : 만약 데이터 3개 가져와라 -> 

여기서 1,1,2 세 개를 가져온다. -> order 기준으로 페이징 안됨.

열이 지금 oi 기준이므로 oi기준으로는 페이징이 가능하다.

 

Recent Posts
Popular Posts
Recent Comments