MySQL DATE_ADD INTERVAL 不适用于 Hibernate。

标签 mysql hibernate hql intervals

我下面的查询,显示 hibernate 异常:

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

据我所知,hibernate 无法识别 INTERVAL 关键字。

谁能帮我写一个 HQL 查询,让我得到与上述查询相同的结果?

(我正在尝试从我的表中的最小日期获取 1 周后的日期)

最佳答案

HQL 和 SQL 是两个不同的东西。您可以使用 native 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

关于MySQL DATE_ADD INTERVAL 不适用于 Hibernate。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11202690/

相关文章:

MySQL:根据条件更新表中的列

mysql - 如何检查日期范围是否存在

java - 如何为连接池配置 Hibernate、Spring 和 Apache dbcp?

hibernate - EhCache + Hibernate Cache 不存在

c# - 使用 HqlBasedQuery 参数化 HQL IN 子句?

mysql - 在CakePHP 3查询where子句中使用MySql DATE函数

MYSQL选择跨多个月的组的最新记录

java - 如何从java代码执行批量存储过程调用?

java - Hibernate HQL 嵌套查询

nhibernate - 如何在没有 queryOver 的情况下使用 nHibernate 从 TABLE 中选择 count(*)?