Grails + Mongodb + Spock:在执行嵌入式字段查询时抛出NullPointerException [英] Grails + Mongodb + Spock: NullPointerException being thrown when doing embedded field query
问题描述
Organization.withCriteria {
eq(活动,true)
eq(location.region,region)
}
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)
在grails.gorm.CriteriaBuilder.invokeClosureNode(CriteriaBuilder.java:980)
在grails.gorm.CriteriaBuilder.invokeMethod(CriteriaBuilder.java:314)
在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)
Organization.withCriteria {
eq(active,true)
location {
eq(region,region)
}
如果不是,请在 http://jira.grails.org/browse/GPMONGODB
On one service I'm trying to do something like:
Organization.withCriteria {
eq( "active", true )
eq( "location.region", region)
}
which is working but when calling the method inside a unit test I get:
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)
Should be:
Organization.withCriteria {
eq( "active", true )
location {
eq( "region", region)
}
}
If not please file a JIRA at http://jira.grails.org/browse/GPMONGODB
这篇关于Grails + Mongodb + Spock:在执行嵌入式字段查询时抛出NullPointerException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!