Hibernate查询语言中的MySql date_sub()函数,查找上周的日期范围

时间:2012-05-14 10:28:25

标签: mysql hibernate hql

如何进行以下hql查询以检索上周时间戳的记录?

MySQL timestamp类型中的

DATETIME(例如:05/07/2012 11:51:34)

select * from transaction
where timestamp between date_sub(now(),INTERVAL 1 WEEK) and now();

1 个答案:

答案 0 :(得分:2)

HQL意味着与数据库供应商无关,因此您无法在HQL中直接执行此操作。

你可以做的两件事是:

  1. 计算java代码中的日期范围,而不是数据库中的日期范围。

  2. 使用Hibernate的原生查询工具 - 请参阅http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/querysql.html