2

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

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

class B {
   String name
}

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

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

有没有一种简单的方法可以做到这一点?到目前为止,我看到的唯一方法是永远不要直接访问 B 对象并拥有一个获取它们的辅助方法。

所以我正在寻找的是为一对多关联寻呼

谢谢克里斯

4

2 回答 2

0

您可以在块中batchSize为您配置。hasManymappings

static mapping = {
    bs batchSize: 10
}
于 2013-03-27T20:02:05.513 回答
0

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

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

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

于 2013-03-28T07:56:08.560 回答