【发布时间】:2012-04-24 21:20:24
【问题描述】:
我有条件检查当前日期 - 3.
select * from TABLE_1 SYSDATE-3 >= TABLE_1.created_date
我应该如何用 Hibernate 查询语言编写?
【问题讨论】:
我有条件检查当前日期 - 3.
select * from TABLE_1 SYSDATE-3 >= TABLE_1.created_date
我应该如何用 Hibernate 查询语言编写?
【问题讨论】:
对于 Oracle SQL 方言,请使用 sysdate(),如下例所示:
select e
from Entity e
where (e.endDate is null or (e.endDate > sysdate()))
这对orm.xml 或使用<named-query> 时有效
对于您的特定查询“过去三天内未创建的所有行”,请使用:
select e from Entity e where to_date(sysdate() - 3) >= e.created_date
【讨论】:
您需要使用实体编写 HQL。
http://docs.jboss.org/hibernate/orm/4.1/manual/en-US/html_single/#queryhql-examples
有一些使用 sysdate 的例子。
【讨论】: