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

时间:2016-12-06 10:30:34

标签: hibernate grails gorm grails-3.0

对于我的生活,我无法理解为什么在继承自RestfulController的控制器中,索引方法只返回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
    }
}

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

当您查找分页时,原来问题在于更好的关注。

取决于您的域对象是如何规范的,gorm将为我们提供不同的resultTransformer。在我的情况下,我有一对多的关系是规范

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

作为连接的提取告诉gorm执行大型查询,然后在应用最大偏移量后减少数据集。

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

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

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