Published 2022. 7. 24. 20:28

조회 건수 제한

@Test
public void paging1() {
 List<Member> result = queryFactory
 .selectFrom(member)
 .orderBy(member.username.desc())
 .offset(1) //0부터 시작(zero index)
 .limit(2) //최대 2건 조회
 .fetch();
 assertThat(result.size()).isEqualTo(2);
}

 

 

전체 조회 수가 필요하면?

@Test
public void paging2() {
 QueryResults<Member> queryResults = queryFactory
 .selectFrom(member)
 .orderBy(member.username.desc())
 .offset(1)
 .limit(2)
 .fetchResults();
 assertThat(queryResults.getTotal()).isEqualTo(4);
 assertThat(queryResults.getLimit()).isEqualTo(2);
 assertThat(queryResults.getOffset()).isEqualTo(1);
 assertThat(queryResults.getResults().size()).isEqualTo(2);
}

 

주의: count 쿼리가 실행되니 성능상 주의!

 

 

 

출처 : 김영한 JPA 스프링 데이터 강의

'Querydsl' 카테고리의 다른 글

조인 - 기본 조인  (0) 2022.07.24
집합  (0) 2022.07.24
정렬  (0) 2022.07.24
결과 조회  (0) 2022.07.24
검색 조건 쿼리  (0) 2022.07.24
복사했습니다!