-
Querydsl - 프로젝션에 따른 결과 반환Spring/Querydsl 2022. 3. 25. 10:53728x90반응형
튜플은 repository 계층에서만 쓰는게 좋은 설계
프로젝션에 따른 결과 반환
- 프로젝션 : select문에서 가져올 데이터를 지정하는 것을 말한다.
- 프로젝션 대상이 하나면 타입을 명확하게 지정할 수 있다
- 프로젝션 대상이 둘 이상이면 튜플이나 DTO로 조회
프로젝션 대상이 하나
- 프로젝션 대상이 하나면 타입을 명확하게 지정 가능
List<String> result = queryFactory .select(member.username) .from(member) .fetch(); List<Member> result = queryFactory .selectFrom(member) .fetch();
프로젝션 대상이 둘 이상
- 프로젝션 대상이 둘 이상일 때는 Tuple이나 DTO로 조회
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); }
참고
Tuple은 Service 계층이나 Controller 계층에서 사용하지 않고
Repository 계층에서 사용하는게 좋은 설계이다
728x90반응형'Spring > Querydsl' 카테고리의 다른 글
Querydsl - where절을 이용한 동적 쿼리 (0) 2022.03.25 Querydsl - BooleanBuilder 이용한 동적 쿼리 (0) 2022.03.25 Querydsl - DTO로 조회하기 (0) 2022.03.25 Querydsl - Querydsl 기본 문법 (0) 2022.03.23 Querydsl - 설정 및 검증 (0) 2022.03.22