(프로젝션) - JPQL의 select 절에서 조회할 대상을 지정하는 방식을 말한다.
1. 엔티티 프로젝션 : 조회된 데이터가 하나의 객체인 경우
2. 임베디드 타입 프로젝션 : 엔티티 객체 안에 존재하는 임베디드 타입 객체를 조회하는 경우
3. 스칼라 타입 프로젝션 : 자바에서 기본 제공되는 자료형을 조회하는 경우 (엔티티 객체의 속성)
엔티티 프로젝션의 경우 조회한 결과들에 대해서 모두 영속성 컨텍스트의 관리가 보장된다.
(페이징) - order by로 정렬했을때 일부 결과만 가져오도록 설정
기존 쿼리에서 둘만 추가하면 된다.
List<Member> resultList = em.createQuery(JPQL, Member.class)
.setFirstResult(0) // 0번째 결과부터
.setMaxResults(10) // 10개를 가져온다
.getResultList();
MySQL의 limit이나 Oracle의 rownum과 동일한 기능이다.
'김영한님 스프링 강의 정리 > JPA' 카테고리의 다른 글
fetch join의 기능과 한계 (0) | 2021.03.10 |
---|---|
명시적 조인과 묵시적 조인 (0) | 2021.03.10 |
JPQL - 쿼리 타입과 파라미터 바인딩 (0) | 2021.03.09 |
값 타입과 immutable 객체 (0) | 2021.03.03 |
임베디드 타입 (복합 값 타입) (0) | 2021.03.02 |