с критериями двухуровневой глубокой ассоциации - PullRequest
13 голосов
/ 14 ноября 2010


Я хотел бы загрузить структуру, два уровня глубоко в цепочке ассоциаций. Что-то вроде:

class TopLevel {
    String name

    LevelOne levelOne
}    

class LevelOne {
    String name

    LevelTwo levelTwo
}

class LevelTwo {
    String name
}

Я бы хотел загрузить всю структуру. Осматривая, я нашел этот пример, но он не сработал. «Println» сгенерировал запрос к таблице LevelTwo.

def result = TopLevel.withCriteria {
    eq('name', 'test')
    fetchMode "levelOne", FetchMode.JOIN
    levelOne {
        fetchMode "levelTwo", FetchMode.JOIN
    }
}

println result.levelOne.levelTwo.name

Ценю любую помощь!
- Стив

1 Ответ

21 голосов
/ 16 ноября 2010

Получил это работает. Вот секретный соус:

def result = TopLevel.withCriteria {
    eq('name', 'test')
    fetchMode 'levelOne', FetchMode.JOIN
    fetchMode 'levelOne.levelTwo', FetchMode.JOIN
    fetchMode 'levelOne.levelTwo.levelThree', FetchMode.JOIN
}
...