어떻게 보면 궁극의 방법이지만 단점이 있다.

@Data
@NoArgsConstructor
public class MemberDto {

	private String username;
	private int age;

	@QueryProjection
	public MemberDto(String username, int age) {
		this.username = username;
		this.age = age;
	}
}
@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);
	}
}

고민거리

좋긴 한데 단점이 있다.