Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

개발자되기 프로젝트

프로젝션과 결과 반환 본문

인프런/[인프런] QueryDsl

프로젝션과 결과 반환

Seung__ 2021. 9. 3. 20:18

1. 프로젝션 : select의 대상을 지정.


 

2. 프로젝션 대상이 하나 인 경우


  • 프로젝션 대상이 하나면 타입을 명확하게 지정할 수 있음
  • 프로젝션 대상이 둘 이상이면 튜플이나 DTO로 조회
List<String> result = queryFactory
                          .select(member.username)
                          .from(member)
                          .fetch();

 

 

2. 튜플 조회


  • 프로젝션 대상이 둘 이상일 때 사용
  • com.querydsl.core.Tuple
  • tuple.get(~)을 통해 데이터 꺼냄.
  • tuple을 repository 계층 내부에서만 사용하고, 외부에는 DTO로 변환하여 내보내자 ㅋㅋ
    @Test
    public void tupleProjection(){
        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);
        }
    }
username = member1
age = 10
username = member2
age = 20
username = member3
age = 30
username = member4
age = 40

 

3. GitHub: 210903 Projection, tuple


 

GitHub - bsh6463/Querydsl

Contribute to bsh6463/Querydsl development by creating an account on GitHub.

github.com

 

'인프런 > [인프런] QueryDsl' 카테고리의 다른 글

프로젝션과 결과 반환 : DTO, @QueryProjection  (0) 2021.09.03
프로젝션과 결과 반환 - DTO 조회  (0) 2021.09.03
상수, 문자 더하기  (0) 2021.09.03
Case 문  (0) 2021.09.02
서브쿼리, SubQuery  (0) 2021.09.02
Comments