어떻게 보면 궁극의 방법이지만 단점이 있다.
@Data
@NoArgsConstructor
public class MemberDto {
private String username;
private int age;
@QueryProjection
public MemberDto(String username, int age) {
this.username = username;
this.age = age;
}
}
@QueryProjection
어노테이션 추가 후@Test
public void findDtoByQueryProjection() {
List<MemberDto> result = queryFactory
.select(new QMemberDto(member.username, member.age))
.from(member)
.fetch();
for (MemberDto dto : result) {
System.out.println(dto);
}
}
좋긴 한데 단점이 있다.
@QueryProjection
어노테이션을 추가해야 한다.