728x90
SELECT 절에 조회할 대상을 지정하는 것
프로젝션 대상: 엔티티, 임베디드 타입, 스칼라 타입(숫자, 문자 등 기본 데이터 타입)
엔티티 프로젝션



- Select 절로 조회해온 대상이 Entity이다.
임베디드 타입 프로젝션

- Select 절로 조회해온 대상이 값 타입인 임베디드이다.
스칼라 타입 프로젝션

- DISTINCT로 중복 제거
- Select 절로 조회해온 대상이 스칼라 타입이다.
프로젝션 - 여러 값 조회
- SELECT m.username, m.age FROM Member m
- 1. Query 타입으로 조회
- 2. Object[] 타입으로 조회


- 3. new 명령어로 조회

- 단순 값을 DTO로 바로 조회 SELECT new jpabook.jpql.UserDTO(m.username, m.age) FROM Member m
- 패키지 명을 포함한 전체 클래스 명 입력
- 순서와 타입이 일치하는 생성자 필요
- 문자열 이기 때문에 오류가 발생할 수도 있는데, QueryDsl을 사용하면 이러한 문제 해결 가능
728x90
'자바 ORM 표준 JPA 프로그래밍(인프런)' 카테고리의 다른 글
| Ch10. 객체지향 쿼리 언어1(기본 문법) - 조인 (0) | 2021.12.17 |
|---|---|
| Ch10. 객체지향 쿼리 언어1(기본 문법) - 페이징 (0) | 2021.12.17 |
| Ch10. 객체지향 쿼리 언어1(기본 문법) - 기본 문법과 쿼리 API (0) | 2021.12.17 |
| Ch10. 객체지향 쿼리 언어1(기본 문법) - 객체지향 쿼리 언어(JPQL) 소개 (0) | 2021.12.17 |
| Ch09. 값 타입 - 실전 예제(값 타입 매핑) (0) | 2021.12.16 |