【问题标题】:timestampdiff equivalent in JPQL (without using criteria)JPQL 中的 timestampdiff 等效项(不使用标准)
【发布时间】:2015-12-28 05:04:20
【问题描述】:

我想在 JPQL 中使用以下 mysql 函数:-

TIMESTAMPDIFF(YEAR, some_start_date, CURDATE());

另外,我不必在 JPA 中使用 Criteria,因为我们正在遵循编写命名查询 (JPQL) 的做法。那么,JPQL怎么写这个函数呢?

【问题讨论】:

    标签: java mysql jpa jdbc


    【解决方案1】:

    JPQL 中没有时间戳差异。 Eclipse 有关键字FUNC,它允许调用特定于数据库的函数,例如timestampdiff。

    【讨论】:

      【解决方案2】:

      如果您使用的是 JPA 2.1 或更高版本,请尝试以下 JPQL:

      select a from EntityClass a where FUNCTION('DATEDIFF', CURRENT_DATE, a.createDt) / 365 >= 1
      

      上面的JPQL是检索所有创建时间超过1年的实体。

      【讨论】:

        猜你喜欢
        • 2013-05-22
        • 1970-01-01
        • 1970-01-01
        • 2013-01-27
        • 2021-10-04
        • 2019-10-18
        • 2011-01-28
        • 2011-05-26
        • 1970-01-01
        相关资源
        最近更新 更多