загружающие запросы с помощью GORM / Hibernate

В приложении My Grails есть следующие доменные объекты

class ProductType {
    String name
    static hasMany = [attributes: Attribute]
}

class Attribute {       
    String name
    static belongsTo = [productType: ProductType]
} 

В моей БД 7ProductTypeи каждый из них имеет 3Attributes. Если я выполню запрос:

def results = ProductType.withCriteria {
    fetchMode("attributes", org.hibernate.FetchMode.EAGER)
}

Я ожидаю 7 случаевProductType должен быть возвращен, но на самом деле я получаю 21 (7 х 3). Я понимаю, что если бы я выполнил SQL-запрос, эквивалентный приведенному выше, результирующий набор содержал бы 21 строку

prod1 | attr1
prod1 | attr2
prod1 | attr3
..... | .....
..... | .....
prod7 | attr1
prod7 | attr2
prod7 | attr3
-------------
Total 21

Но я подумал, что когда я получу эти результаты через Hibernate / GORM, я должен получить что-то похожее на:

prod1 | attr1, attr2, attr3    
..... | ...................
..... | ...................
prod7 | attr1, attr2, attr3
---------------------------
Total 7

Между прочим, если я удаляю eager-loading из запроса выше, я получаю 7ProductTypeкак и ожидалось. Чего мне не хватает?

Ответы на вопрос(1)

Ваш ответ на вопрос