当特定字段小于sql 服务器上的日期而不使用表或字段名称时,我无法弄清楚如何删除一组记录。
由于我使用的是 MSSQL,因此查询看起来像这样:
DELETE FROM tickets WHERE expires < getdate()
我将如何让 Hibernate 做到这一点?我正在研究 HQL,但我没有看到指定getdate()
.
当特定字段小于sql 服务器上的日期而不使用表或字段名称时,我无法弄清楚如何删除一组记录。
由于我使用的是 MSSQL,因此查询看起来像这样:
DELETE FROM tickets WHERE expires < getdate()
我将如何让 Hibernate 做到这一点?我正在研究 HQL,但我没有看到指定getdate()
.
我相信您可以使用 query.substitutions 配置。看看这篇文章和答案中的链接:
您可能应该定义一个命名的 SQL 查询:
<sql-query name="DeleteExpiredTickets">
DELETE FROM tickets WHERE expires < getdate()
</sql-query>
然后调用:
session.getNamedQuery("DeleteExpiredTickets").executeUpdate();