【问题标题】:Use java.time in Hibernate 5.1在 Hibernate 5.1 中使用 java.time
【发布时间】:2018-03-28 19:12:13
【问题描述】:

我在我的应用程序中使用 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 配置中为它配置一些东西吗?

【问题讨论】:

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

标签: java hibernate hibernate-5.x localdate


【解决方案1】:

我认为问题不在于Hibernate 5.1LocaleDate 的支持,例外情况是从java.sql.Datejava.time.LocaleDate 有一个cast Exception

如果您检查Hibernate 5.1 User Guide,您会看到Hibernate 为java.time.LocaleDate 提供了一个替换类型,即LocalDateType 类。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-16
    • 1970-01-01
    • 1970-01-01
    • 2015-12-19
    • 1970-01-01
    • 1970-01-01
    • 2019-08-01
    • 2016-03-07
    相关资源
    最近更新 更多