-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
질문이 있습니다.
22.09.03 14:28 작성 조회수 180
0
private List<OrderItemQueryDto> findOrderItems(Long orderId) {
return em.createQuery(
"select new jpabook.jpashop.repository.query.OrderItemQueryDto(oi.order.id, i.name, oi.orderPrice, oi.count)" +
" from OrderItem oi" +
" join oi.item i" + //이걸 왜 하는거지 => 실 객체바꿀라고?
" where oi.order.id = :orderId", OrderItemQueryDto.class
).setParameter("orderId", orderId).getResultList();
}
위 코드에서 "join oi.item" 하는 이유가 궁금합니다.
OrderItem엔 Item이 있으니 i.name 대신 oi.item.name하여도 될 것 같은데 굳이 Item도 조인하는 이유가 있을까요?
제가 생각한 결과로는 Item을 조인하여 i.name할 때 Item이 프록시에서 실 객체로 바뀌니 이것을 위해 조인하였을 것 같은데 맞을까요?
답변을 작성해보세요.
답변 1