UFO ET IT

Grails MongoDB GORM 업그레이드 중 목록 속성의 예상이 깨짐

ufoet 2023. 6. 22. 23:18
반응형

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 플러그인을 2.0.1에서 3.0.1로 업그레이드하기 전까지 작동했습니다.

    compile ":mongodb:3.0.1"

이제 다음 오류가 표시됩니다.

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의 집계 프레임워크를 사용하기 위해 기존 쿼리를 모두 다시 쓰고 싶지 않습니다.

당신은 보통의 것을 시도할 수 있습니다.

grails clean
grails refresh-dependencies

플러그인의 최신 버전도 확인합니다.

다른 대안은 한 달 전에 게시된 이 mongo 플러그인으로 전환하는 것입니다. 이 플러그인은 GORM for Hibernate와 호환되어야 합니다.

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

플러그인 관리자에서 최대 절전 모드를 제거하여 충돌을 방지할 수 있습니다.

언급URL : https://stackoverflow.com/questions/25633748/upgrading-grails-mongodb-gorm-broke-projections-on-list-properties

반응형