2013-11-14 97 views
2

为了模仿我看到我写这个测试的行为(给出了同样的确切的错误):吗啡测绘仿制药

@Test 
public void testListGenerics() { 

    @Entity 
    class BaseOne<T> { 
     @Id 
     ObjectId _id; 
     T value; 
     void setValue(T value) { 
      this.value = value; 
     } 
    } 

    class ListBase<ITEM> extends BaseOne<List<ITEM>> { } 

    class ConcreteOne extends ListBase<String> {} 

    ConcreteOne concreteOne = new ConcreteOne(); 
    List<String> strings = Arrays.asList("Hello, ", "world"); 
    concreteOne.setValue(strings); 
    morphia.toDBObject(concreteOne); 

} 

当试图映射此我得到:

显示java.lang.NullPointerException在 com.google.code.morphia.utils.ReflectionUtils.getParameterizedClass(ReflectionUtils.java:306) 在 com.google.code.morphia.utils.ReflectionUtils.getParameterizedClass(ReflectionUtils.java:302) 在 com.google.code.morphia.utils.ReflectionUtils.getParameterizedClass(ReflectionUtils.java:324) 在 com.google.code.morphia.utils.ReflectionUtils.getParameterizedClass(ReflectionUtils.java:302) 在 com.google .code.morphia.utils.ReflectionUtils.getParameterizedType(ReflectionUtils.java:281) 在 com.google.code.morphia.mapping.MappedField.discoverMultivalued(MappedField.java:136) 在 com.google.code.morphia .mapping.MappedField.discover(MappedField.java:96) at com.google.code.morphia.mapping.MappedField。(MappedField.java:76) at com.google.code.morphia.mapping.MappedClass。发现(MappedClass.java:197) 在 com.google.code.morphia.mapping.MappedClass。(MappedClass.java:119) 在 com.google.code.morphia.mapping.Mapper.getMappedClass(Mapper.java:225) 在 融为一体。 google.code.morphia.DatastoreImpl.getWriteConcern(DatastoreImpl.java:1346) 在com.google.code.morphia.DatastoreImpl.save(DatastoreImpl.java:934)

我能做些什么,使这项工作?

+0

你使用哪种版本的Morphia? – ioseb

+0

你正在使用什么版本的Morphia? – Nikoloz

+0

我使用的版本是0.104 –

回答

0

你应该在github上提出问题,我会更深入地研究一下。

+0

完成:https://github.com/mongodb/morphia/issues/553 –