【问题标题】:Using CURRENT_DATE in JPA with Hibernate as JPA-Provider在 JPA 中使用 CURRENT_DATE 和 Hibernate 作为 JPA-Provider
【发布时间】:2012-07-15 02:57:24
【问题描述】:

JPA 将 CURRENT_DATE 定义为函数。当我在 JPQL 语句中使用 CURRENT_DATE 时,底层 JPA-Provider Hibernate 不会解析这个,只接受 current_date() 以独立于 DBMS。

在我看来,CURRENT_DATE 应该在每个 JPA-Provider 中实现,因为这是 JPA 中的一个基本功能。我认为这是 Hibernate 中的一个错误。

例子:

SELECT o FROM Objects o WHERE o.validFrom < CURRENT_DATE

此语句与 MySQL 作为 DBMS 一起使用,但在 MSSQL 中失败,因为 CURRENT_DATE 未被 Hibernate 解析,并且 CURRENT_DATE 被发送到 MSSQL 无法理解的 DBMS。使用 current_date() 一切正常,但这不是普通的 JPQL。

请给我一些提示,如果这是一个 Hibernate 错误或其他任何问题。

【问题讨论】:

    标签: hibernate jpa jpql


    【解决方案1】:

    SELECT o FROM Objects o WHERE o.validFrom

    并设置一个 java.util.Date 参数初始化为当前日期?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-10
      • 1970-01-01
      • 2011-01-25
      • 2016-04-11
      • 1970-01-01
      相关资源
      最近更新 更多