Post

JPQL_페이징





참고



페이징 API

  • JPA에서는 두 가지 API로 추상화한다.
    • setFirstResult(int startRowNum)
      • 조회 시작 위치
    • setMaxResult(int maxResult)
      • 조회할 데이터 수



1
2
3
4
5
6
em.createQuery("SELECT p FROM Product p ORDER BY p.price))", Product.class)
    .setFirstResult(0)
    .setMaxResult(10)
    .getResultList();

  • 상품의 가격이 낮은 순으로 10개를 조회해 오는 쿼리이다.

img-description 페이징 조회 결과



1
2
3
4
5
6
em.createQuery("SELECT p FROM Product p ORDER BY p.price DESC", Product.class)
    .setFirstResult(5)
    .setMaxResult(10)
    .getResultList();

  • 상품의 가격이 높은 순으로 5개를 조회해 오는 쿼리이다.
    • 이번에는 setFirstResult()에 5를 넘겨줬기 때문에 최하위 5개를 제외하고 그 뒤부터 5개를 가져온다.
    • offset을 5 둔다는 뜻

img-description 페이징 조회 결과





This post is licensed under CC BY 4.0 by the author.