인프런 커뮤니티 질문&답변
안녕하세요!! v3.1 , v4 의 방식에서 의아한점이있는데욥
작성
·
332
0
v3.1에서는 join fetch 를사용한 이유는 Order에대한 모든 객체그래프를 조회하기때문이고,
v4에서는 필요한 필드만 콕콕집어 조회를 해야하기때문에
join fetch를 사용하지 못하는건가요?
join fetch는 모든 객체그래프를 끌어오는거니까요~?
v4
return em.createQuery(
"select new jpabook.jpashop.repository.order.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)
v3.1
return em.createQuery(
" select o from Order o" +
" join fetch o.member m " +
" join fetch o.delivery d ", Order.class)
퀴즈
56%나 틀려요. 한번 도전해보세요!
API에서 엔티티 직접 노출(V1) 방식의 가장 큰 문제는 무엇일까요?
LAZY 로딩으로 데이터가 누락될 수 있습니다.
엔티티 변경이 API 스펙 변경으로 이어집니다.
컬렉션 조회 시 N+1 문제가 발생합니다.
보안에 취약하여 민감 데이터가 노출됩니다.





