如何进行以下 hql 查询以检索具有上周时间戳的记录?
timestamp
在 MySQLDATETIME
类型中(例如:05/07/2012 11:51:34)
select * from transaction
where timestamp between date_sub(now(),INTERVAL 1 WEEK) and now();
HQL 意味着与数据库供应商完全无关,因此您不能真正直接在 HQL 中执行此操作。
您可以做的两件事是:
在您的 java 代码中计算日期范围,而不是在数据库中。
使用 Hibernate 的本机查询工具 - 请参阅http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/querysql.html