고딩왕 코범석
Unable to locate appropriate constructor on class [클래스 경로]. Expected arguments are: types 본문
Unable to locate appropriate constructor on class [클래스 경로]. Expected arguments are: types
고딩왕 코범석 2020. 12. 27. 08:29오늘은 이 에러에 대해서 정리해보겠다.
스프링 데이터 JPA를 학습하는 와중에 서버를 다시 올렸을 때 발생했다.
이 에러였는데 먼저 Dto 클래스에서 생성자에 대한 에러였다.
아놔 이 뿡빵 이게 뭐가 문젠데!
한 2~30분간 얼탔다. 에러 메세지를 좀 더 자세히 읽어보았다.
Error creating bean with name 'memberRepository' defined in springData.jpa.repository.MemberRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Validation failed for query for method public abstract java.util.List springData.jpa.repository.MemberRepository.findMemberDto()!
냄새 맡았다. 진한 글씨로 가보자!
아! 해당 쿼리를 날리고 DTO로 변환시키는 과정에서 매개변수 타입이 일치하지 않아 발생한 에러구나!
강의에서 들었던 내용들을 기억해보면 NamedQuery, @Query를 이용해서 JPQL을 작성할 경우 애플리케이션 로딩 시점에 에러가 발생한다는 것을 직접 체감했다.
에러 메세지를 좀 더 심도있게 읽는 연습을 해야겠어. 그럼 오늘은 여기까지!
'Errors' 카테고리의 다른 글
Parameter 0 of constructor in 'A' required a bean of type 'B' that could not be found. (0) | 2020.12.17 |
---|