2015-07-20 3 views
3

У меня есть класс домена:Grails + Спок: NullPointerException при выполнении AddTo * на встроенном поле hasMany

class MarketCommoditiesConfiguration extends MarketConfiguration { 

    static mapWith = "mongo" 

    static hasMany = ['commodities': Commodity] 

    static embedded = ['commodities'] 

    ... 

Ведение save после addToCommodities бросает следующее исключение.

| java.lang.NullPointerException 
    at org.grails.datastore.mapping.model.types.Association.getInverseSide(Association.java:71) 
    at org.grails.datastore.mapping.engine.NativeEntryEntityPersister.handleEmbeddedInstance(NativeEntryEntityPersister.java:1254) 
    at org.grails.datastore.mapping.engine.NativeEntryEntityPersister.handleEmbeddedInstance(NativeEntryEntityPersister.java:1215) 
    at org.grails.datastore.mapping.engine.NativeEntryEntityPersister.handleEmbeddedToMany(NativeEntryEntityPersister.java:1188) 
    at org.grails.datastore.mapping.engine.NativeEntryEntityPersister.persistEntity(NativeEntryEntityPersister.java:1077) 
    at org.grails.datastore.mapping.engine.NativeEntryEntityPersister.persistEntity(NativeEntryEntityPersister.java:1138) 
    at org.grails.datastore.mapping.engine.EntityPersister.persist(EntityPersister.java:160) 
    at org.grails.datastore.mapping.core.AbstractSession.persist(AbstractSession.java:522) 
    at org.grails.datastore.gorm.GormInstanceApi.doSave(GormInstanceApi.groovy:194) 
    at org.grails.datastore.gorm.GormInstanceApi.save_closure5(GormInstanceApi.groovy:162) 
    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.GormInstanceApi.save(GormInstanceApi.groovy:161) 
    at com.apposit.terra.connect.service.MarketService.addCommodityToMarket(MarketService.groovy:248) 
    at com.apposit.terra.connect.service.MarketServiceSpec.Test addCommodityToMarket creates a new next month configuration if current month's configuration doesn't exist(MarketServiceSpec.groovy:164) 

ответ

4

Ввод Keyword внутри @Mock аннотацию решил. http://grails.1312388.n4.nabble.com/Grails-MongoDb-embedded-collection-causes-nullpointerexception-td4644098.html содержит более активное обсуждение.

Я знаю, что это супер-старый, но поиск в Google привел меня сюда, пока столкнулся с той же проблемой. Убедитесь, что вы добавили @Mock (Пользователь) в ваш класс тестирования устройств. В моем случае у меня было несколько уровней встроенных классов доменов , и каждый из них должен был насмехаться. - clarkdustin

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

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