• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

스프링 데이터 JPA의 구현체 질문

23.03.08 00:48 작성 23.03.08 00:49 수정 조회수 246

0

안녕하세요 김영환 강사님 항상 잘 듣고 있습니다. 다름이 아니라 스프링 데이터 JPA의 구현체 분석 파트 중 질문 사항이 있습니다.

페이징에 대해서 처리할 때 마지막 파라미터로 Pageable 를 넘기게 되면 해당 정보로 자동으로 페이징 처리를 하게 된다고 알고 있습니다.

어떻게 이게 가능한 것입니까? 이를 구현한 구현체를 찾아보려 하지만 찾지 못해 질문드립니다.!

 

 

답변 1

답변을 작성해보세요.

2

David님의 프로필

David

2023.03.10

안녕하세요. rnqhstlr2297님, 공식 서포터즈 David입니다.

SimpleJpaRepository.findAll 중 Pageable이 포함된 것을 찾아보시면, readPage()를 호출하고 있습니다. 이 부분을 살펴보시면 궁금하신 부분을 해소할 수 있을 것 같습니다.

감사합니다.

답변 감사드립니다. 쿼리메소드나, Named Query 방식을 사용할 때 전달 파라미터 마지막에 Pageable를 넘기게 되면 페이징을 처리해주게 되는데 이러한 상황에서는 어떤 방식으로 동작하길래 가능한것입니까? SimpleJpaRepository에는 공통 인터페이스의 대한 구현체만 존재하지 않나요?

David님의 프로필

David

2023.03.10

QueryMethod 클래스를 보시면, method(Repository에 정의한 쿼리 메서드) 정보를 통해 메서드의 파라미터에 Pageable 타입을 가지는 파라미터가 있는지 확인합니다. NamedQuery 클래스도 동일한 방법으로 Pageable 파라미터 존재 여부를 감지하고요.