小编Hal*_*orm的帖子

升级Grails MongoDB GORM打破了列表属性的预测

我正在使用带有投影的Criteria来获取我的帐户域中的标签列表.像这样:

def tags = Account.createCriteria().list { 
    projections { property("tags") } 
}
Run Code Online (Sandbox Code Playgroud)

我的帐户域名:

class Account {
    static mapWith = "mongo"
    List<Tag> tags
    ...
    static embedded = ['tags']
}
Run Code Online (Sandbox Code Playgroud)

BuildConfig.groovy

// using grails 2.3.8
plugins {
    runtime ":hibernate:3.6.10.17"
    compile ":mongodb:2.0.1"
Run Code Online (Sandbox Code Playgroud)

这一直有效,直到我将Grails的MongoDB GORM插件从2.0.1升级到3.0.1

    compile ":mongodb:3.0.1"
Run Code Online (Sandbox Code Playgroud)

现在我看到以下错误......

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)
Run Code Online (Sandbox Code Playgroud)

为什么以前工作但现在失败了?我不想重写所有现有的查询来使用mongoDB的聚合框架.

grails grails-orm mongodb gorm-mongodb

23
推荐指数
1
解决办法
511
查看次数

标签 统计

gorm-mongodb ×1

grails ×1

grails-orm ×1

mongodb ×1