(快速参考)

batchSize

目的

在惰性加载期间自定义获取的数量。

示例

class Book {
    ...
    static mapping = {
        batchSize 10
    }
}

描述

用法:batchSize(integer)

在一个惰性关联(一个 Author 拥有多个 Book 实例)下,GORM 会对 Author 执行一个查询,并在关联 Book 实例上执行附加查询。这被称为 N+1 问题,经常可通过使用连接查询来解决。但是,连接可能很昂贵。

批量获取是对惰性加载的一种优化,例如,如果你将 batchSize 设置为 10,并且有一个 Author 拥有 30 本书,则你将获得 4 个查询(一个用于 Author,三个用于 10 本书的批量),而不是 31 个查询

static mapping = {
    batchSize 10
}

你还可以针对每个关联配置 batchSize

class Author {

    static hasMany = [books: Book]

    static mapping = {
        books batchSize: 10
    }
}