: select 대상 지정
1개 : 타입 명확하게 지정 가능
2개 이상 : Tuple 또는 DTO로 조회
package com.querydsl.core
순수 JPA
em.createQuery(
"select new study.querydsl.dto.MemberDto(m.username, m.age) from Member m",
MemberDto.class)
Querydsl
Projections.bean
.select(Projections.bean(MemberDto.class, member.username, member.age))
Projections.fields
.select(Projections.fields(MemberDto.class, member.username, member.age))
Projections.constructor
.select(Projections.constructor(MemberDto.class, member.username, member.age))
.select(new QMemberDto(member.username, member.age))
but
constructor | @QueryProjection |
---|---|
런타임 오류 (실행해야 알 수 있음) | 컴파일 오류 (실행 전 발견) |