我在我的应用程序中使用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配置中配置它?
答案 0 :(得分:1)
我认为问题不在于LocaleDate
对Hibernate 5.1
的支持,例外情况表明cast Exception
从java.sql.Date
到java.time.LocaleDate
如果您查看Hibernate 5.1
User Guide,则可以看到Hibernate为LocalDateType
类java.time.LocaleDate
提供了重播类型。
因此,不要使用java.time.LocaleDate
,而是在实体中使用org.hibernate.type.LocalDateType
。