스프링 데이터 JPA의 페이징과 정렬
Page<Member> findByAge(int age, Pageable pageable);
@Test
public void findByPage() {
Member m1 = new Member("AAA", 10);
Member m2 = new Member("BBB", 10);
Member m3 = new Member("CCC", 10);
Member m4 = new Member("DDD", 10);
Member m5 = new Member("EEE", 10);
memberRepository.save(m1);
memberRepository.save(m2);
memberRepository.save(m3);
memberRepository.save(m4);
memberRepository.save(m5);
int age = 10;
PageRequest pageRequest = PageRequest.of(1, 3, Sort.by(Sort.Direction.DESC, "username"));
Page<Member> result = memberRepository.findByAge(age, pageRequest);
assertThat(result.getContent().size()).isEqualTo(2);
assertThat(result.getContent().get(0).getUsername()).isEqualTo("BBB");
assertThat(result.getContent().get(1).getUsername()).isEqualTo("AAA");
// assertThat(result.getContent().get(2).getUsername()).isEqualTo("CCC");
assertThat(result.getTotalElements()).isEqualTo(5);
}
Slice<Member> findByAge(int age, Pageable pageable);
hasNext()
필드를 제공한다.