Java 运行本机查询时ConverterNotFoundException

Java 运行本机查询时ConverterNotFoundException,java,hibernate,spring-boot,spring-data-jpa,Java,Hibernate,Spring Boot,Spring Data Jpa,在我的应用程序中,我在@Repository类中具有以下功能: @Query(value="SELECT roster_date FROM timetable", nativeQuery=true) List<LocalDate> getAllDates(); 我试图注册一个自定义转换器,如下所示,但它不能正常工作 @Component public class SqlTimestampToLocalDateConverter implements Converter<Tim

在我的应用程序中,我在
@Repository
类中具有以下功能:

@Query(value="SELECT roster_date FROM timetable", nativeQuery=true)
List<LocalDate> getAllDates();
我试图注册一个自定义转换器,如下所示,但它不能正常工作

@Component
public class SqlTimestampToLocalDateConverter implements Converter<Timestamp, LocalDate> {
    @Override
    public LocalDate convert(Timestamp source) {
        return source.toLocalDateTime().toLocalDate();
    }
}
@组件
公共类SqlTimestampToLocalDateConverter实现转换器{
@凌驾
公共LocalDate转换(时间戳源){
返回source.toLocalDateTime().toLocalDate();
}
}
如果我调用
findById
来使用我的
@Entity
类获取一条记录,该类包含
花名册日期列的
LocalDate
属性,那么它工作正常


如果有人能给我指出正确的方向,我将不胜感激。

如果您已经有了实体类,您可以使用它,我想您的实体类命名为Time:

@Query("select t.rosterDate from Time t")

如果您已经有实体类use,则可以使用JPQL。

如果您已经有实体类,则可以使用它,我猜您的实体类命名为Time:

@Query("select t.rosterDate from Time t")

如果您已经有实体类,可以使用JPQL。

适用于SpringBoot2.1.4-sample。你能在问题中添加Spring Boot版本号吗?@manish:谢谢你的尝试。我也在使用2.1.4。您能否尝试使用
nativeQuery=true
并确保种子数据包含多个日期?在我的数据库中,我确实有异常中显示的值,其格式完全相同
2019-04-19 00:00:00.0
。您真的需要本机查询吗?您可以下载我的示例项目并尝试一些东西。@manish:我用一个非常简单的查询作为示例来提问。在我的实际用例中,它是一个复杂的查询,返回多个日期,格式为
2019-04-19 00:00:00.0
。我无法使用JPQL:(.如果您特别面临本机查询的问题,您可能希望在Spring JIRA中提出一个问题。很可能Spring数据中有一个错误导致本机查询失败,但JPA查询失败。Spring Boot 2.1.4-示例适用于我。您能将Spring Boot版本号添加到问题中吗?@manish:感谢您的帮助这是一次尝试。我也在使用2.1.4。你能尝试使用
nativeQuery=true
并确保你的种子数据包含超过一个日期吗?在我的数据库中,我确实有异常中显示的值,其格式完全相同
2019-04-19 00:00:00.0
。你真的需要本机查询吗?你可以下载我的示例项目并尝试few things.@manish:我用一个非常简单的查询作为例子来提问。在我的实际用例中,它是一个复杂的查询,返回多个日期,格式为
2019-04-19 00:00:00.0
。我不能使用JPQL:(.如果您特别面临本机查询的问题,您可能希望在Spring JIRA中提出一个问题。很可能Spring数据中存在一个错误,导致本机查询失败,但JPA查询失败。