0

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

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

DELETE FROM tickets WHERE expires < getdate()

我将如何让 Hibernate 做到这一点?我正在研究 HQL,但我没有看到指定getdate().

4

2 回答 2

0

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

在 HQL 或标准中获取 DATEPART?

于 2009-05-24T21:28:19.180 回答
0

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

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

然后调用:

session.getNamedQuery("DeleteExpiredTickets").executeUpdate();
于 2009-05-24T21:33:39.497 回答