在Hibernate 5.1中使用java.time

时间:2017-10-17 07:03:24

标签: java hibernate hibernate-5.x localdate

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

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

Hibernate-java8 jar在我的类路径中。

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

1 个答案:

答案 0 :(得分:1)

我认为问题不在于LocaleDateHibernate 5.1的支持,例外情况表明cast Exceptionjava.sql.Datejava.time.LocaleDate

如果您查看Hibernate 5.1 User Guide,则可以看到Hibernate为LocalDateTypejava.time.LocaleDate提供了重播类型。

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