JAVA & Spring
[Spring] NullPointerException, invaliddataaccessapiusageexception 오류 해결
py0922
2024. 1. 22. 13:27
test를 했을 때는 NullPointerException가 발생해서 테스트하려는 Repository가 null이라고 설명한다.
그리고 controller, service를 실행해봤더니
servlet.service() for servlet [dispatcherservlet] in context with path [] threw exception [request processing failed: org.springframework.dao.invaliddataaccessapiusageexception: for queries with named parameters you need to provide names for method parameters; use @param for query method parameters, or when on Java 8+ use the javac flag -parameters] with root cause
이런 오류가 발생했다.
설명을 잘 읽어보니 해당 메서드의 파라미터에 @param을 사용하라고 한다. 아마 오류가 발생한 Repository의 메서드에 @Query 애노테이션을 사용하고 있는데, 그때 사용하는 것이 매칭이 안돼서 발생한 오류 같기도 하다.
나같은 경우는 findByArticleId에서 오류가 발생했는데, 해당 메서드의 파라미터에 @Param("articleId") 추가해주었더니 오류가 해결됐다.
@Query(value = "SELECT * FROM comment WHERE article_id = :articleId",
nativeQuery = true) // value 속성에 실행하려는 쿼리 작성
List<Comment> findByArticleId(@Param("articleId") Long articleId);
반응형
LIST