删除记录字段的位置< GETDATE()

时间:2009-05-24 21:21:45

标签: sql-server hibernate date sql-delete

如果特定字段小于sql server 上的日期而不使用表或字段名称,我无法弄清楚如何删除一组记录。

由于我使用MSSQL,查询看起来像这样:

DELETE FROM tickets WHERE expires < getdate()

我如何让Hibernate这样做?我正在研究HQL,但我没有看到指定getdate()的方法。

2 个答案:

答案 0 :(得分:0)

我相信你可以使用query.substitutions配置。看一下这篇文章和答案中的链接:

Getting DATEPART in HQL or Criteria?

答案 1 :(得分:0)

您应该定义一个命名的SQL查询:

<sql-query name="DeleteExpiredTickets">
 DELETE FROM tickets WHERE expires < getdate()
</sql-query>

然后致电:

session.getNamedQuery("DeleteExpiredTickets").executeUpdate();