프로젝션과 결과 반환 - 기본


프로젝션 : select 대상 지정

프로젝션 대상이 하나

List<String> result = queryFactory
											.select(member.username)
											.from(member)
											.fetch();

튜플 조회

프로젝션 대상이 둘 이상일 때 사용

com.querydsl.core.Tuple

List<Tuple> result = queryFactory
										.select(member.username, member.age)
										.from(member)
										.fetch();

for (Tuple tuple : result) {
	String username = tuple.get(member.username);
	Integer age = tuple.get(member.age);
	System.out.println("username=" + username);
	System.out.println("age=" + age);
}

프로젝션과 결과 반환 - DTO 조회


순수 JPA에서 DTO 조회

List<MemberDto> result = em.createQuery(
														"select new study.querydsl.dto.MemberDto(m.username, m.age) " +
														"from Member m", MemberDto.class)
														.getResultList();