본문 바로가기

Backend

Spring data jpa를 이용한 Pagination

1. Pageable 타입 인스턴스란?

Pageable은 pagination을 진행하기 위해 Spring data jpa에 알려줘야할 정보들을 포함한다.

포함하고 있는 정보들은

- 페이지 번호 - page

- 한 페이지에 불러올 데이터 건수 - size

- 정렬 조건 - sort

로 구성 

 

Pageable의 구현체는 PageRequest를 사용한다. 

 Pageable pageable = PageRequest.of(page, size, Sort.by("productId"));

여기서 Sort.by는 해당 칼럼을 기준으로 정렬을 진행한다는 조건을 추가해준다는 뜻

 

2. Querydsl을 사용한 Pagination 기능 구현

해당 부분은 단순하게 구현이 가능하다. 반환 객체를 Page<T> (해당 제너릭 타입으로 Entity 객체가 들어가게 된다)로 설정하고

// return (List<Product>) findAll(builder);
return findAll(builder, pageable);

 

이렇게 pageable 타입 인스턴스만 추가해준다면 끝이다.