(프로젝션) - 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과 동일한 기능이다.

 

 

 

 

+ Recent posts