grails 3.2 中域对象上是否有默认的 max to gorm 列表方法

Is there a default max to gorm list method on domain object in grails 3.2

我这辈子都无法理解为什么在继承自 RestfulController 的控制器中,索引方法只有 returns 4 行。这是默认设置吗?当我重写该方法时会发生相同的行为,就像这样。

import grails.rest.*
import grails.converters.*

class WidgitController extends RestfulController {
    static responseFormats = ['json', 'xml']
    WidgitController() {
        super(Widgit)
    }

    @Override
    def index() {
        def w = Widgit.findAllWhere(isEnabled: true, [max: 10]) //w: sizec4
        def w2 = listAllResources(params) //w2: size 4
        respond w
    }
}

如有任何帮助,我们将不胜感激。

事实证明,当您查找分页时,问题会得到更好的关注。

根据您的域对象的规范方式,gorm 将为我们提供不同的 resultTransformer。在我的例子中,我有一个一对多的关系,被指定为

orders(lazy:false, fetch:"join")

fetch as join 告诉 gorm 进行大型查询,然后在应用最大偏移量后减少数据集。

如需更多阅读,请查看以下内容:

agination-with-hibernate-criteria-and-distinct-root-entity

sorting-and-pagination-with-hibernate-criteria-how-it-can-go-wrong-with-joins