인프런 커뮤니티 질문&답변

민경재님의 프로필 이미지

작성한 질문수

실전! 스프링 데이터 JPA

스프링 데이터 JPA 페이징과 정렬

CountQuery 관련 질문이 있어서 하나 올립니다.

작성

·

328

0

MemberRepository 아래 처럼 쓰고

@Query(value = "select m from Member m left join m.team t",
countQuery = "select count(m) from Member m where m.age = :age")
Page<Member> findByAge(@Param("age") int age, Pageable pageable);

memberRepository 에서 아래처럼 받게되면

int age = 10;
PageRequest pageRequest = PageRequest.of(0, 3, Sort.by(Sort.Direction.DESC, "username"));

//when
Page<Member> page = memberRepository.findByAge(age, pageRequest);

parameter not bound 오류가 나게 됩니다.
countQuery 에는 paramater binding 을 쓰지 못하는 걸까요??

답변 2

1

민경재님의 프로필 이미지
민경재
질문자

감사합니다

@Query(value = "select m from Member m left join m.team t where m.age = :age",
countQuery = "select count(m) from Member m where m.age = :age")
Page<Member> findByAge(@Param("age") int age, Pageable pageable);

이런식으로 value 에도 넣어줘야 된다는걸 알게됬습니다.
감사합니다!!!

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 경재님

value의 select 쿼리에 age 파라미터가 빠져있습니다^^

감사합니다.