Spring Data JPA에서 공식적으로 지원하는 페이징 결과 타입중 하나로, Spring data는 JPA쿼리 결과를 Slice객체로 매핑해 제공하는 기능을 제공한다.

주 목적은 페이징 처리시 전체 데이터 개수(count)를 조회하지 않고 다음 페이지가 있는지만 판단함으로써 더 페이징을 더 경량화할때 사용된다.

Page 객체와 유사하지만 전체 데이터를 조회하지 않아서 성능상 이점이 있음. 무한 스크롤이나 더보기 기능 구현할때 주로 사용.

내부에 다음과 같은 주요 정보가 있다.

항목 설명
List<T> content 현재 페이지의 데이터 목록
Pageable pageable 요청한 페이지 정보 (page, size, sort)
boolean hasNext 다음 페이지가 존재하는지 여부
boolean hasPrevious 이전 페이지가 존재하는지 여부