【问题标题】:Morphia mapping GenericsMorphia 映射泛型
【发布时间】:2013-11-14 13:11:39
【问题描述】:

为了模拟我看到的行为,我编写了这个测试(给出了同样的错误):

@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) 在 com.google.code.morphia.mapping.MappedField.(MappedField.java:76) 在 com.google.code.morphia.mapping.MappedClass.discover(MappedClass.java:197) 在 com.google.code.morphia.mapping.MappedClass.(MappedClass.java:119) 在 com.google.code.morphia.mapping.Mapper.getMappedClass(Mapper.java:225) 在 com.google.code.morphia.DatastoreImpl.getWriteConcern(DatastoreImpl.java:1346) 在 com.google.code.morphia.DatastoreImpl.save(DatastoreImpl.java:934)

我能做些什么来完成这项工作?

【问题讨论】:

  • 你用的是哪个版本的 Morphia?
  • 你使用的是什么版本的 Morphia?
  • 我使用的是 0.104 版

标签: java mongodb generics morphia


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-11
    • 2015-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-24
    相关资源
    最近更新 更多