티스토리 뷰

SMALL

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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함