Spring Data JPA에서 공식적으로 지원하는 페이징 결과 타입중 하나로, Spring data는 JPA쿼리 결과를 Slice객체로 매핑해 제공하는 기능을 제공한다.
주 목적은 페이징 처리시 전체 데이터 개수(count)를 조회하지 않고 다음 페이지가 있는지만 판단함으로써 더 페이징을 더 경량화할때 사용된다.
즉 Page 객체와 유사하지만 전체 데이터를 조회하지 않아서 성능상 이점이 있음. 무한 스크롤이나 더보기 기능 구현할때 주로 사용.
내부에 다음과 같은 주요 정보가 있다.
| 항목 | 설명 |
|---|---|
| List<T> content | 현재 페이지의 데이터 목록 |
| Pageable pageable | 요청한 페이지 정보 (page, size, sort) |
| boolean hasNext | 다음 페이지가 존재하는지 여부 |
| boolean hasPrevious | 이전 페이지가 존재하는지 여부 |