Sto utilizzando i criteri con le proiezioni per ottenere un elenco di tag nel dominio del mio account. Come questo:Aggiornamento Grails MongoDB GORM ha rotto le proiezioni sulle proprietà dell'elenco
def tags = Account.createCriteria().list {
projections { property("tags") }
}
Il mio dominio account:
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"
Questo ha funzionato fino a quando ho aggiornato il plugin MongoDB GORM per graal da 2.0.1 a 3.0.1
compile ":mongodb:3.0.1"
Ora vedo t ha seguito l'errore ...
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)
Perché ha funzionato prima ma non sta funzionando? Non voglio riscrivere tutte le mie query esistenti per utilizzare il framework di aggregazione di mongoDB.
Hai mai trovato una correzione o eseguire questo attraverso un debugger per vedere cosa è cambiato nel metodo chiama da 2.0.1 a 3.0.1? – th3morg
Questa è una domanda un po 'vecchia, ma hai provato a rimuovere il runtime di Hibernate? So che c'è un conflitto con Mongo e Hibernate. – kevingreen
Ciao, cercando di rimanere senza risposta. Hai risolto questo? Forse puoi rispondere alla tua stessa domanda. – Neoryder