Grails one to many,对返回的孩子有限制

时间:2013-03-27 19:48:49

标签: grails gorm one-to-many

所以我有两个类,它们之间有一对多的连接......

class A {
   static hasMany = {bs: B}
}

class B {
   String name
}

现在我创建一个对象A并将100个B对象添加到其列表中......

现在当我调用A.get(1)并访问Bs时,它会将所有100个对象加载到内存中。我想将此限制为10个B对象,并使用另一个方法返回下一个10,依此类推。

有一种简单的方法吗?到目前为止,我看到这样做的唯一方法是永远不会直接访问B对象,并且有一个帮助它的辅助方法。

所以我正在寻找的是一对多关联的分页

由于 克里斯

2 个答案:

答案 0 :(得分:0)

您可以在hasMany区块中为mappings配置batchSize

static mapping = {
    bs batchSize: 10
}

答案 1 :(得分:0)

您可以使用标准参数属性,这些属性通常用于获取分页结果集。查看列表方法,了解如何使用它们

  • params.min~要列出的最小数字
  • params.max~要列出的最大数量
  • params.offset~从第一个结果到
  • 列表的偏移量

在此处查看更多信息: http://grails.org/doc/2.2.0/ref/Domain%20Classes/list.html