В моем приложении у меня есть следующая функция в классе @Repository
:
@Query(value="SELECT roster_date FROM timetable", nativeQuery=true)
List<LocalDate> getAllDates();
Когда я выполнил вышеуказанный запрос, я столкнулся со следующим ConverterNotFoundException
:
org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.util.ArrayList<?>] to type [@org.springframework.data.jpa.repository.Query java.util.List<java.time.LocalDate>]
for value '[2019-04-19 00:00:00.0, 2019-04-21 00:00:00.0]';
nested exception is org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type [java.sql.Timestamp] to type [@org.springframework.data.jpa.repository.Query java.time.LocalDate]
Я попытался зарегистрировать пользовательский конвертер следующим образом, но он также не работает.
@Component
public class SqlTimestampToLocalDateConverter implements Converter<Timestamp, LocalDate> {
@Override
public LocalDate convert(Timestamp source) {
return source.toLocalDateTime().toLocalDate();
}
}
Если я позвоню findById
, чтобы получить ОДИНОЧНУЮ запись, используя мой класс @Entity
, который содержит свойство LocalDate
для столбца roster_date
, тогда он работает нормально.
Я был бы очень признателен, если бы кто-то мог указать мне правильное направление.