givepro

Spring Data Jpa - native query 페이징 본문

백엔드/SpringBoot

Spring Data Jpa - native query 페이징

givepro 2021. 7. 2. 16:15
반응형

최근 프로젝트를 진행하면서 통계 관련된 페이지를 작업하느라 native query 형태로 작업을 하고 있다.

이전에는 native query로 페이징까지는 해보질 않아서 어떻게 접근해야 할지 감이 안잡혔는데 이번에 도움이 많이 됬다.

 

우선 쿼리 어노테이션의 형태는 아래와 같이 하도록 한다.

 

@Query(nativeQuery = true, value = "", countQuery = "")
Page<> testPage(@Param("param1") String param1, @Param("param2") String param2, @PageableDefault(size=10) Pageable pageable);

핵심은 꼭 countQuery 속성을 추가해야 한다.
그래야 특정 갯수 이상에서 pageable이 적용되는데 이부분이 없으며 계속해서 오류가 발생함..

 

또한 쿼리를 작성했을때 select * (작성한 전체 쿼리) ~~~ 이런식으로 변경을 하니 정상적으로 되었다.

Comments