【发布时间】:2016-04-26 08:12:33
【问题描述】:
我正在尝试在 Grails HQL 中做类似的事情,但它不起作用
我想从可能包含 10 个元素的 ID 列表中删除最多 5 个元素。我按日期排序,只删除最旧的 5 个
Entity.executeUpdate(
"DELETE FROM Entity WHERE id in (:list) ORDER BY date LIMIT 5",
[list: oldestIdsForRemoval])
纯 SQL 工作得很好
DELETE FROM entity WHERE id in ('8f027db299354a869af51e1f0a60ede1', '96df61161c32491f8aa4a14c5017852c', '88aa7b2bb6e1444f8d892fff10b8adcd') ORDER BY date ASC LIMIT 1
这甚至可能吗?
我也尝试将max:5 参数添加到参数列表中,但失败了。
我正在使用 Grails 1.3.6 。如果它在较新的版本中得到修复,会很高兴知道,虽然我不能使用它。 文档在这方面没有多大帮助:http://grails.github.io/grails-doc/1.3.7/ref/Domain%20Classes/executeUpdate.html
【问题讨论】: