• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

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

21.03.03 18:19 작성 조회수 256

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

민경재님의 프로필

민경재

질문자

2021.03.04

감사합니다

@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 파라미터가 빠져있습니다^^

감사합니다.