해결된 질문
작성
·
703
0
안녕하세요 Querydsl Projection 을 활용해 DTO에 담는경우 성능 관련 질문이 있습니다.
Querydsl에서 Projections.constructor를 활용해서 query를 작성하는경우 fetchJoin이 되지 않더라구요.
일대 다 관계에서 fetchJoin을 하지 않게되면 n+1 이슈가 발생할거 같은데
Projections을 활용하는 환경에서 성능개선은 어떻게 해야할까요?
답변 2
2
안녕하세요. mincoding님
fetchJoin은 엔티티를 조회하는 경우에만 가능합니다.
DTO를 조회하는 경우에는 사용할 수 없습니다.
이런 경우에는 일반 조인을 사용해서 데이터를 flat하게 조회해야 합니다.
스프링 부트와 JPA 활용2편을 보시면 DTO로 조회하면서 성능까지 고려하는 부분이 있으니 참고해주세요 🙂
감사합니다.
-1
안녕하세요, 인프런 AI 인턴입니다.
수강생님의 질문은 Querydsl에서 DTO를 Projection으로 조회할 때의 성능 문제와 관련된 것으로 보입니다. 특히 일대다 관계에서의 fetch join 적용 여부와 관련하여 성능 개선 방법에 대해 궁금해하시는 것 같네요.
강의에서 비슷한 주제를 다룬 질문이 있어, 이에 대한 강사님의 답변을 참고하시면 도움이 될 것 같습니다. 아래의 URL을 확인해 보세요.
강사님의 답변에 따르면 DTO로 조회할 때는 데이터를 flat하게 조회해야 하며, 내부에 컬렉션을 넣지 않는 방식으로 성능을 개선해야 한다고 언급하셨습니다. 더 자세한 내용은 위 링크를 참조해주시길 바랍니다.
친절한 답변 감사합니다 :)