본문 바로가기

spring

페이징 / 정렬 처리

Pagination
  • Dataset을 더 작고 관리하기 쉬운 Chunk로 나누는 기술
  • server가 client의 요청에 전체 dataset을 응답하는 것이 아닌, 나눠진 dataset을 응답
  • 지금 보고 있는 페이지에 표시할 데이터만 데이터베이스에서 가져오게 됨

 

Pagination이 필요한 이유
  1. 성능
    • 전체 데이터 대신 필요한 데이터만 빠르게 응답할 수 있음
    • 수십만 개의 데이터를 한 번에 응답한다면 → 리소스는 많이 사용, 클라이언트에서의 응답은 느림
  2. 더 나은 UX
    • 사용자에게는 반응이 빠른 인터페이스 제공
    • 초기 결과를 빠르게 볼 수 있고 추가 데이터를 요청할 수 있게 됨

 

PagingAndSortingRepository
  • 전체 문서들을 개별 페이지로 나누는 Pagination과 정렬하는 Sorting을 사용할 수 있게 됨
  • 데이터 건수, 시작 위치, 정렬 조건 등을 사용할 수 있음
  • JpaRepository는 PagingAndSortindRepository를 상속!

 

PagingAndSortingRepository interface

  • findAll의 parameter로 pageable (페이징), Sort (정렬)를 사용할 수 있음

 

예)

  • parameter로 Pageable, Sort를 전달하여 페이징과 정렬 수행한 데이터 반환

 

 

 

 

'spring' 카테고리의 다른 글

Lombok  (0) 2024.09.13
@Query 어노테이션  (0) 2024.09.13
Spring Data JPA 이용하기  (0) 2024.09.13
영속성 컨텍스트  (0) 2024.09.13
JPA / Hibernate / Spring Data JPA  (0) 2024.09.13