Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 그리디
- Exception
- http
- transaction
- AOP
- SpringBoot
- Greedy
- pointcut
- springdatajpa
- java
- Spring Boot
- 알고리즘
- db
- Android
- Proxy
- Servlet
- 김영한
- 인프런
- spring
- QueryDSL
- 스프링 핵심 원리
- jpa
- 스프링
- Thymeleaf
- 백준
- kotlin
- JPQL
- 자바
- JDBC
- 스프링 핵심 기능
Archives
- Today
- Total
개발자되기 프로젝트
프로젝션과 결과 반환 본문
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
'인프런 > [인프런] 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