【问题标题】:MySQL DATE_ADD INTERVAL is not working with Hibernate.MySQL DATE_ADD INTERVAL 不适用于 Hibernate。
【发布时间】:2012-06-26 07:36:18
【问题描述】:

我在下面的查询,显示休眠异常:

SELECT DATE_ADD(DATE_FORMAT(MIN(t.time),'%Y-%m-%d'), INTERVAL 6 DAY) FROM Table t;

据我了解,hibernate 无法识别 INTERVAL 关键字。

谁能帮我写一个 HQL 查询,结果和我上面的查询一样吗?

(我试图从表中的最短日期开始 1 周后获取日期)

【问题讨论】:

    标签: mysql hibernate hql intervals


    【解决方案1】:

    HQL 和 SQL 是两个不同的东西。您可以使用本机 SQL 查询而不是 HQL 查询。或者您可以执行以下查询:

    select min(t.time) from SomeEntity e
    

    并在 Java 中添加 6 天:

    Date minDate = (Date) query.uniqueResult();
    minDate = DateUtils.addDays(d, 6); // using apache commons-lang
    

    【讨论】:

    • 我需要查询中的结果,因为我将它用作子查询。我试图仅在第一周在我的表中找到某行的累积值。因此,在我的查询中有如下条件: date >= min(date) and date
    • 那么恐怕你需要使用 SQL。
    猜你喜欢
    • 2021-05-21
    • 2019-09-15
    • 1970-01-01
    • 2012-04-14
    • 2020-09-13
    • 1970-01-01
    • 1970-01-01
    • 2011-03-08
    • 2015-11-27
    相关资源
    最近更新 更多