티스토리 뷰
스프링을 이용한 프로젝트에서 테스트 코드를 작성하다가 다음과 같은 에러를 만났습니다.
org.springframework.dao.InvalidDataAccessApiUsageException:
For queries with named parameters you need to use provide names for method parameters.
Use @Param for query method parameters, or when on Java 8+ use the javac flag -parameters.;
nested exception is java.lang.IllegalStateException:
For queries with named parameters you need to use provide names for method parameters.
Use @Param for query method parameters, or when on Java 8+ use the javac flag -parameters.
JpaRepository<>를 상속받은 ~~Repository에서 @Query로 새로운 조회 기능을 추가했는데 발생한 문제였습니다.
문제가 되는 부분은 이쪽이었습니다.
사실 이 코드를 작성하면서 :email 부분은 자동으로 파싱이 되는 건가? 라는 의문을 가지긴 했습니다.
테스트 코드를 돌려보면서 확실히 알게 되었네요.
다음과 같이 파싱되기를 원하는 파라미터 변수에 @Param("쿼리에서 이용할 변수명")으로 매칭을 시켜줄 것이라고 써야 했었네요.
'개발 > Spring' 카테고리의 다른 글
[에러 해결] HttpMediaTypeNotAcceptableException (1) | 2021.08.14 |
---|---|
[에러 해결] Post요청시 String형을 @RequestBody로 받는 경우 (0) | 2021.08.01 |
@RequestParam과 @PathVariable (0) | 2021.07.24 |
[에러 해결] UnsatisfiedDependencyException (0) | 2021.07.24 |
스프링 어노테이션 정리 (0) | 2021.07.18 |