페이징과 컬렉션 조회를 함께 하려면 어떻게 해야할까?
이 방법으로 대부분의 문제를 해결할 수 있다.
@GetMapping("/api/v3.1/orders")
public List<OrderDTO> ordersV3_page() {
return orderRepository.findAllWithMemberDelivery(new OrderSearch()).stream()
.map(OrderDTO::new)
.collect(Collectors.toList());
}
public List<Order> findAllWithMemberDelivery(OrderSearch orderSearch) {
return em.createQuery("select o from Order o" +
" join fetch o.member m" +
" join fetch o.delivery d", Order.class
).getResultList();