인프런 커뮤니티 질문&답변

newguidance9님의 프로필 이미지

작성한 질문수

실전! Querydsl

스프링 데이터 페이징 활용1 - Querydsl 페이징 연동

질문있습니다!

20.11.11 10:15 작성

·

210

0

.select(new DTO( 생성자 필드 ))

.from(entity)

이런식으로 특정 필드만 뽑아내는 방법 말고 혹시 
전체 필드를 담는 * 같은 기능이 있을까요?

dto에 변수가 많아졌을때 하나하나 다 입력하면 코드도 길어지고 입력하기도 힘들거같아서요

.select(new QDto).from(Entity)
이런식으로 전체 데이터를 가지고오고싶어요!

그리고 혹시 전체 필드 조회를 안하시는 이유가 성능이 떨어져서 그런건지도 여쭤보고싶습니다.

답변 1

2

김영한님의 프로필 이미지
김영한
지식공유자

2020. 11. 12. 00:00

안녕하세요. newguidance9님

이런 경우는 엔티티를 그대로 조회하면 됩니다. (엔티티를 조회하면 전체 필드를 다 조회하는 것이지요)

그리고 조회한 엔티티를 DTO로 같은 필드명으로 변환해주는 라이브러리들이 있는데, MapStruct, modelmapper 등으로 검색해보시면 원하는 결과를 찾으실 수 있을거에요.

성능 부분은 리스트의 경우는 아무래도 전체 필드를 조회하는 것이 상황에 따라서 부담이 될 수 있습니다.(조회가 정말 많다면) 그런데 단건 조회는 전체 필드를 다 조회해도 보통 문제가 되지는 않습니다.

이런 부분은 꼭 해당 시스템의 성능 요구사항에 따라서 테스트 해보시는 것이 필요합니다.

감사합니다.