-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
join에 대해 질문있습니다.
23.01.19 14:10 작성 23.01.19 14:11 수정 조회수 892
0
public List<Order> findAllWithMemberDelivery() {
return em.createQuery("select o from Order o ", Order.class).getResultList();
}
이렇게 order만 select해줘도
@GetMapping("api/v3.1/orders")
private List<OrderDto>ordersV3_page(){
List<Order>orders=orderRepository.findAllWithMemberDelivery();
List<OrderDto>result=new ArrayList<>();
for(Order order:orders){
result.add(new OrderDto(order));
}
return result;
}
강의자료와 동일하게 설계해서 뿌려주면
//postman의 결과
[ { "orderId": 4, "name": "userA", "orderDate": "2023-01-19T14:02:41.723635", "address": { "city": "서울", "street": "1", "zipcode": "1111" }, "orderStatus": "ORDER", "orderItems": [ { "itemName": "JPA1 BOOK", "orderPrice": 10000, "count": 1 }, { "itemName": "JPA2 BOOK", "orderPrice": 20000, "count": 1 } ] }, { "orderId": 11, "name": "userB", "orderDate": "2023-01-19T14:02:41.79964", "address": { "city": "진주", "street": "2", "zipcode": "2222" }, "orderStatus": "ORDER", "orderItems": [ { "itemName": "SPRING1 BOOK", "orderPrice": 20000, "count": 3 }, { "itemName": "SPRING2 BOOK", "orderPrice": 40000, "count": 4 } ] } ]
이렇게 원하는 결과가 나옵니다.(물론 item id가 없습니다.)
즉 Order만 select해도 Dto에 설계한대로 정보가 잘 나오는데 o.member 등을 join하는 이유는 item id 등이 필요할 때가 있어서 그런건가요?
답변을 작성해보세요.
0
답변 1