mongodb grails gorm gorm-mongodb

Actualización de Grails MongoDB GORM rompió las proyecciones en las propiedades de la lista



gorm-mongodb (2)

Estoy utilizando Criterios con proyecciones para obtener una lista de etiquetas en mi dominio de Cuenta. Me gusta esto:

def tags = Account.createCriteria().list { projections { property("tags") } }

Dominio de mi cuenta:

class Account { static mapWith = "mongo" List<Tag> tags ... static embedded = [''tags''] }

BuildConfig.groovy

// using grails 2.3.8 plugins { runtime ":hibernate:3.6.10.17" compile ":mongodb:2.0.1"

Esto funcionó hasta que actualicé el plugin MongoDB GORM para grails de 2.0.1 a 3.0.1

compile ":mongodb:3.0.1"

Ahora veo el siguiente error ...

The class [java.util.List] is not a known persistent type. at org.grails.datastore.mapping.core.AbstractSession.retrieveAll(AbstractSession.java:723) at org.grails.datastore.mapping.mongo.query.MongoQuery$AggregatedResultList.initializeFully(MongoQuery.java:1601) at org.grails.datastore.mapping.mongo.query.MongoQuery$AggregatedResultList.size(MongoQuery.java:1764)

¿Por qué funcionó antes pero ahora está fallando? No quiero volver a escribir todas mis consultas existentes para usar el marco de agregación de mongoDB.


Puede evitar el conflicto eliminando la hibernación de su administrador de complementos


Puedes probar lo habitual

grails clean grails refresh-dependencies

También busque una versión más nueva de su complemento.

Otra alternativa es cambiar a este complemento de Mongo publicado hace un mes, que se supone es compatible con GORM para Hibernate.

''org.grails.plugins:mongodb:6.0.0.M2''