2014-09-02 8 views
20

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.

+0

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

+0

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

+0

Ciao, cercando di rimanere senza risposta. Hai risolto questo? Forse puoi rispondere alla tua stessa domanda. – Neoryder

risposta

-1

si può evitare il conflitto rimuovendo hibernate dal Plugin Manager

0

È possibile provare il solito

grails clean 
grails refresh-dependencies 

Inoltre controllare per vedere una versione più recente del plugin.

Un'altra alternativa è passare a questo plugin mongo pubblicato un mese fa, che dovrebbe essere compatibile con GORM per Hibernate

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