Engineering Note

[Server] JPA에서 페이징 처리 본문

Server

[Server] JPA에서 페이징 처리

Software Engineer Kim 2025. 9. 2. 08:20

1. 페이징이란

데이터베이스의 레코드를 개수로 나눠 페이지를 구분하는 것

ex) 25개의 레코드가 있다면 7개씩, 총 4개의 페이지로 구분하고 그중에서 특정 페이지를 가져오는 것


1-1. JPA에서 페이징 처리

Page, Pageable 사용

//페이징 처리가 가능한 쿼리메서드 예시
Page<Product> findByName(String name, Pageble pageable);

리턴 타입으로 Page 타입을 설정하고 매개변수로 Pageable 타입의 객체를 선언한다.

 

 

//페이징 쿼리 메서드 호출 방법
Page<Product> productPage = productRepository.findByName("펜", PageRequest.of(0,2));

Pageable 파라미터를 전달하기위해 PageRequest 클래스 사용할 수 있고, PageRequest는 Pageable의 구현체이다. 

PageRequest 생성 방법

- of 메서드를 통해 PageRequest 생성

 

of 메서드 오버로딩 형태

of 메서드 매개변수 설명 비고
of(int page, int size) 페이지 번호(0부터 시작), 페이지당 데이터 개수 데이터를 정렬하지 않음
of(int page, int size, Sort) 페이지 번호, 페이지당 데이터 개수, 정률 sort에 의해 정렬
of(int page, int size, Eirection, String...properties) 페이지 번호, 페이지당 데이터 개수, 정렬 방향, 속성 Sorg.by(direction, properties)에 의해 정렬

 

 

 

참고 자료: 스프링부트3 핵심가이드

Comments