2017-10-17 151 views
1

我在我的应用程序中使用Hibernate 5.1。现在我想将所有java.util.date类转换为java.time java 8类。我将所有的源代码改为新的Java 8标准。但是,当我查询包含映射到它抛出一个错误LocalData第一个查询:在Hibernate 5.1中使用java.time

java.lang.ClassCastException: java.sql.Date cannot be cast to java.time.LocalDate 

Hibernate的-java8罐子是我的类路径。

有人可以帮我使用java.time类而不是旧的java.util.date吗? 我需要在我的Hibernate配置中配置一些东西吗?

+1

我们可以看一些代码吗?实体映射和查询将是一个好的开始...... –

回答

1

我觉得这个问题是不是由Hibernate 5.1支持的LocaleDate除了说有一个cast Exceptionjava.sql.Datejava.time.LocaleDate

如果你检查Hibernate 5.1 User Guide你可以看到Hibernate为java.time.LocaleDate这个LocalDateType类提供了替代类型。

因此,而不是使用java.time.LocaleDate你应该在你的实体中使用org.hibernate.type.LocalDateType