fetch join
JPQL 로 Pageable 객체 사용 시 주의할 점
개요 Spring Data JPA Repository 에 Pageable 객체를 파라미터로 전달하면 별도의 쿼리를 작성하지 않아도 페이징을 위한 쿼리를 만들어준다. 전통적인 오프셋 기반의 페이징 처리를 할때는 전체 데이터 수가 알아야하기에 Spring Data JPA 에서는 Page 객체를 반환하는 방식을 주로 이용한다. 이때, 전체 데이터 수를 알아야하므로 페이징 쿼리 외에도 추가적으로 count 쿼리가 나간다. 이 과정에서 JPQL 을 사용하여 페이징 쿼리를 작성할 때, 주의할 점이 있어 공유하고자 글을 작성한다. 주의할 점 결론부터 이야기하자면 count 쿼리가 @Query 로 작성한 JPQL 을 기반으로 나간다는 것을 인지하고 있어야한다는 것이다. 특히, fetch join 을 사용할 경우 예외가..