페이징 API
- JPA는 페이징을 다음 두 API로 추상화
- setFirstResult(int startPosition): 조회 시작 위치
- setMaxResults(int maxResult): 조회할 데이터 수
페이징 API 예시
//페이징 쿼리
String jpql = "select m from Member m order by m.name desc;
List<Member> resultList = em.createQuery(jpql, Member.class)
.setFirstResult(10)
.setMaxResults(20)
.getResultList();
페이징 API - MySQL 방언
SELECT
M.ID AS ID,
M.AGE AS AGE,
M.TEAM_ID AS TEAM_ID,
M.NAME AS NAME
FROM
MEMBER M
ORDER BY
M.NAME DESC LIMIT ?, ?
페이징 API - Oracle 방언
SELECT * FROM
( SELECT ROW_.*, ROWNUM ROWNUM_
FROM
( SELECT
M.ID AS ID,
M.AGE, AS AGE,
M.TEAM_ID AS TEAM_ID,
M.NAME AS NAME
FROM MEMBER M
ORDER BY M.NAME
) ROW
WHERE ROWNUM <= ?
)
WHERE ROWNUM_ > ?
'BackEnd > ORM(JPA)' 카테고리의 다른 글
조인 (0) | 2023.02.18 |
---|---|
프로젝션(SELECT) (0) | 2023.02.06 |
JPQL(Java Persistence Query Language) (0) | 2023.01.18 |
객체지향 쿼리 언어(JPQL) (0) | 2023.01.09 |
값 타입 (0) | 2023.01.09 |