Grails 2.3.4排序/查找所有更改

时间:2013-12-08 02:30:49

标签: sorting grails

在我的应用程序中,我按如下方式对域对象进行了排序:

def o = Domain.findAll(sort: 'lastUpdated')

在Grails 2.2。*中,这工作正常,结果正在返回。今天,我升级到Grails 2.3.4,并且相同的语法抛出错误,说明:

No property found for name [all] for class [sample.Domain]

排序的新语法是什么?

提前致谢。

3 个答案:

答案 0 :(得分:11)

我会使用list:

def results = Domain.list(sort: "lastUpdated")

答案 1 :(得分:4)

关于最后一条评论,它可能会产生一个非常糟糕的表演问题:

使用Domain.findAll().sort({lastUpdated: 'desc'}),您可以在排序任何内容之前加载整个表。对于此请求看起来没问题,但假设您有大量数据,则需要添加最大值和偏移量。否则请求将花费太多时间。

另一方面,上面的那个更好:

def results = Domain.list(sort: "lastUpdated")

这样做,您只需要加载所需的数据量......仅此而已。您可以通过这种方式添加偏移量和最多行数:

def results = Domain.list(max: 10, offset:10, sort: "lastUpdated")

这不是原帖的答案,但它解释了为什么之前的评论投票不好:)

答案 2 :(得分:-1)

好吧,我一发布就把它想出来了:Domain.findAll().sort({lastUpdated: 'desc'})