JPA JPQL 페이징(Paging)

KMS·2022년 4월 12일
0

JPA Basics

목록 보기
14/20

JPQL으로 원하는 갯수 만큼의 결과만 가져오기(페이징)

페이징 API
1. setFirstResult(int startPosition) : 조회 시작 위치
2. setMaxResults(int maxResult) : 조회할 데이터 수

//SELECT *FROM member ORDER BY age DESC LIMIT 5,10; ||  SELECT *FROM member ORDER BY age DESC LIMIT 10 OFFSET 5;
 List<Member> resultList = em.createQuery("select m from Member m order by m.age desc", Member.class)
                    .setFirstResult(5)
                    .setMaxResults(10)
                    .getResultList();

Member에서 age로 내림차순해서 정렬 했을때, 5번째 결과까지는 건너뛰고, 6번째 결과부터 시작해서 총 10개의 결과를 가져오고 싶을때 입니다.
(해당 예시에서는 age 120, 119, 118, 117, 116들이 건너뛰어졌습니다.)
결과:
member = Member{id=95, username='member95', age=115}
member = Member{id=94, username='member94', age=114}
member = Member{id=93, username='member93', age=113}
member = Member{id=92, username='member92', age=112}
member = Member{id=91, username='member91', age=111}
member = Member{id=90, username='member90', age=110}
member = Member{id=89, username='member89', age=109}
member = Member{id=88, username='member88', age=108}
member = Member{id=87, username='member87', age=107}
member = Member{id=86, username='member86', age=106}

profile
Student at Sejong University Department of Software

0개의 댓글