consultas de carga impaciente con GORM / Hibernate

La aplicación My Grails tiene los siguientes objetos de dominio

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

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

Mi DB tiene 7ProductTypesy cada uno de esos tiene 3Attributes. Si ejecuto la consulta:

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

Espero 7 instancias deProductType Por ser devuelto, pero de hecho obtengo 21 (7 x 3). Entiendo que si tuviera que ejecutar una consulta SQL equivalente a la anterior, el conjunto de resultados tendría 21 filas

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

Pero pensé que cuando recupero estos resultados a través de Hibernate / GORM debería obtener algo más como:

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

Por cierto, si elimino la carga de datos de la consulta anterior, obtengo 7ProductTypes como se esperaba. ¿Qué me estoy perdiendo?

Respuestas a la pregunta(1)

Su respuesta a la pregunta