JPA ConverterNotFoundException

에러 발생

JPA에서 JPQL을 통해 쿼리를 날렸을 때 ConverterNotFoundException이 발생

 

원인 분석

에러메세지: 응답값을 변환할 때 변환하는 컨버터를 찾을 수 없다.

구글링해본 결과 @Query를 사용해서 반환 받은 값을 DTO 클래스에 저장할 경우에 발생한다.
보통 Getter가 없거나 타입이 맞지않을 때 발생할 수 있다.
나의 경우에는 위 2가지 경우에 해당이 되지않아 다른 경우를 찾아본 결과
JPA에서 GROUP BY를 통해 결과를 받아오면 Object 타입으로 반환된다고 한다.

 

해결

1. 반환 타입을 Object 타입으로 바꾸고, 서비스 클래스에서 Object 타입을 DTO 클래스로 변환

2. DTO 인터페이스를 생성해서 인터페이스에 해당 필드의 getter 선언해서 사용