개요

페이징

조회 건수 제한

@Test
void paging() {
    //given
    QMember member = QMember.member;
	
    //when
    List<Member> result = jpaQueryFactory
            .selectFrom(member)
            .orderBy(member.userName.desc())
            .offset(1) // 0부터 시작(zero index)
            .limit(2) // 최대 2건 조회
            .fetch();

    //then
    assertThat(result.size()).isEqualTo(2);
}

전체 조회 수가 필요하면?

@Test
public void paging() {
		//given
    QMember member = QMember.member;

		//when
	  QueryResults<Member> queryResults = queryFactory
						 .selectFrom(member)
						 .orderBy(member.username.desc())
						 .offset(1)
						 .limit(2)
						 .fetchResults();

		 //then
		 assertThat(queryResults.getTotal()).isEqualTo(4);
		 assertThat(queryResults.getLimit()).isEqualTo(2);
		 assertThat(queryResults.getOffset()).isEqualTo(1);
		 assertThat(queryResults.getResults().size()).isEqualTo(2);
}