2015-02-19 3 views
1

С одной службы я пытаюсь сделать что-то вроде:Grails + MongoDB + Спок: NullPointerException быть выброшен при выполнении запроса встроенного поля

Organization.withCriteria { 
      eq("active", 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) 
    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) 

ответ

2

Должно быть:

Organization.withCriteria { 
     eq("active", true) 
     location { 
      eq("region", region) 
     } 

    } 

Если нет, напишите JIRA по адресу http://jira.grails.org/browse/GPMONGODB

+0

Graeme, за этим упомянуть. Я попробовал, и это сработало. Я думал, что это дало мне «запрет на участие в монго» в прошлом, когда я пробовал на том же встроенном поле. Но почему мой метод не работает только на модульном тесте? –

+0

@graeme это не работает. – dynamo

 Смежные вопросы

  • Нет связанных вопросов^_^