개요

프로젝션 대상이 하나

@Test
void simpleProjection() {
    //given

    //when
    List<String> result = jpaQueryFactory
            .select(member.userName)
            .from(member)
            .fetch();

    //then
    for (String userName : result) {
        System.out.println("userName = " + userName);
    }
}

프로젝션 대상이 둘 이상일 때 사용 (튜플 조회)

@Test
void tupleProjection() {
    //given

    //when
    List<Tuple> result = jpaQueryFactory
            .select(member.userName, member.age)
            .from(member)
            .fetch();

    //then
    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);
    }
}