我正在使用Criteria和預測來獲取我的帳戶域上的標籤列表。就像這樣:升級Grails MongoDB GORM在列表屬性上打破預測
def tags = Account.createCriteria().list {
projections { property("tags") }
}
我的帳戶域:
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"
這個工作,直到我升級的MongoDB GORM插件的Grails從2.0.1至3.0.1
compile ":mongodb:3.0.1"
現在我看到t他下面的錯誤...
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)
爲什麼這個工作之前,但現在失敗?我不想重寫所有現有的查詢來使用mongoDB的聚合框架。
你有沒有找到一個解決或通過調試器中運行這個,看看發生了什麼變化在從2.0.1到3.0.1的方法調用? – th3morg 2014-10-23 16:20:23
這是一個老問題,但你有沒有嘗試刪除Hibernate運行時?我知道與Mongo和Hibernate有衝突。 – kevingreen 2015-03-16 15:20:21
你好,試圖解決未答覆。你解決了這個問題嗎?也許你可以回答你自己的問題。 – Neoryder 2015-10-23 12:38:05