Grails для запроса один к одному нетерпеливый выбор - PullRequest
0 голосов
/ 24 января 2011

Допустим, у вас есть лицо и нос, и вы хотите получить нос на основе идентификатора лица.

В руководстве пользователя Grails рассказывается, как использовать mapping = {fetch: join} в классе домена, чтобы охотно извлекать нос в одном запросе всякий раз, когда вы выбираете лицо.

Но я не хочу все время охотно доставать. Я просто хочу сделать в этом конкретном случае использовать один запрос вместо двух. Можно ли это сделать для каждого запроса? Есть ли способ сделать что-то вроде: Face.get (faceId, [join: nose])?

1 Ответ

1 голос
/ 24 января 2011

Вы имеете в виду что-то, что ссылка:

static fetchMode = [nose:'eager']

найдено здесь

Обновление:

Вы можете решитьпроблема с критерием запроса.Здесь вы можете установить режим выборки в запросе:

import org.hibernate.FetchMode as FM
    def c = MyDomain.createCriteria()
    def results = c.list {
        maxResults(10)
        firstResult(50)
        fetchMode("aRelationship", FM.EAGER)
    }
...