【发布时间】:2015-09-10 11:37:06
【问题描述】:
在我的一项服务中,我正在尝试执行以下操作:
User.withCriteria {
eq( "location.city", city)
}
它会抛出以下 NullPointerException 类似于this question
java.lang.NullPointerException
at org.grails.datastore.mapping.keyvalue.mapping.config.KeyValuePersistentEntity.getPropertyByName(KeyValuePersistentEntity.java:75)
at grails.gorm.CriteriaBuilder.validatePropertyName(CriteriaBuilder.java:954)
at grails.gorm.CriteriaBuilder.eq(CriteriaBuilder.java:435)
at com.apposit.terra.connect.service.OrganizationService.getAllOrganizationsInZone_closure9(OrganizationService.groovy:322)
at grails.gorm.CriteriaBuilder.invokeClosureNode(CriteriaBuilder.java:980)
at grails.gorm.CriteriaBuilder.invokeMethod(CriteriaBuilder.java:314)
at org.grails.datastore.gorm.GormStaticApi.withCriteria_closure11(GormStaticApi.groovy:305)
at org.grails.datastore.mapping.core.DatastoreUtils.execute(DatastoreUtils.java:302)
at org.grails.datastore.gorm.AbstractDatastoreApi.execute(AbstractDatastoreApi.groovy:37)
at org.grails.datastore.gorm.GormStaticApi.withCriteria(GormStaticApi.groovy:304)
当我像答案中建议的那样使用它时:
User.withCriteria {
location {
eq( "city", city)
}
}
这个新的 NullPointerException 被抛出。
java.lang.NullPointerException
at org.grails.datastore.mapping.query.Query.resolvePropertyValue(Query.java:268)
at org.grails.datastore.mapping.query.Query.addToJunction(Query.java:636)
at org.grails.datastore.mapping.query.Query.add(Query.java:141)
at org.grails.datastore.mapping.query.Query.add(Query.java:131)
at grails.gorm.CriteriaBuilder.addToCriteria(CriteriaBuilder.java:1141)
at grails.gorm.CriteriaBuilder.eq(CriteriaBuilder.java:459)
我应该用什么?
【问题讨论】:
标签: mongodb grails grails-orm spock