2

だから私はそれらの間に1対多の接続を持つ2つのクラスを持っています...

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

class B {
   String name
}

ここで、オブジェクト A を作成し、そのリストに 100 個の B オブジェクトを追加します...

A.get(1) を呼び出して Bs にアクセスすると、100 個のオブジェクトすべてがメモリに読み込まれます。これを 10 個の B オブジェクトに制限し、別のメソッドが次の 10 個を返すようにしたいと考えています。

これを行う簡単な方法はありますか?これまでのところ、これを行う唯一の方法は、B オブジェクトに直接アクセスせず、それらを取得するヘルパー メソッドを使用することです。

だから私が探しているのは、1対多の関連付けのページングです

ありがとうクリス

4

2 に答える 2

0

You can configure the batchSize for your hasMany in the mappings block.

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

これには標準の params プロパティを使用できます。これらは、ページ化された結果セットを取得するためによく使用されます。それらの操作方法については、リスト メソッドを確認してください。

  • params.min ~ リストする最小数
  • params.max ~ リストする最大数
  • params.offset ~ リストする最初の結果からのオフセット

詳細はこちら: http://grails.org/doc/2.2.0/ref/Domain%20Classes/list.html

于 2013-03-28T07:56:08.560 に答える