在GORM findBy*查询中,如何在限制使用"max"之前使用"sort"

c08*_*089 6 grails grails-orm

以下grails查询将结果数限制为3,然后按id排序:

def results = Domain.findAllByFoo(foo, [sort: 'id', order: 'desc', max: 3])

因此,这将返回ID 1到3,然后反转它们的顺序,这样

results*.id == [3,2,1]

有没有办法先排序,然后限制,以便

results*.id == [99,98,97]

我目前的解决方法是:

if (results.size() > max) results = results[0..<max]

c08*_*089 2

这是由于Grails 中的一个错误造成的,该错误已在 2.0.4 中修复。