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);

}

これをマップしようとすると、次のようになります。

com.google.code.morphia.utils.ReflectionUtils.getParameterizedClass(ReflectionUtils.java:306) の java.lang.NullPointerException com.google.code.morphia.utils.ReflectionUtils.getParameterizedClass(ReflectionUtils.java:302) の com. google.code.morphia.utils.ReflectionUtils.getParameterizedClass(ReflectionUtils.java:324) at com.google.code.morphia.utils.ReflectionUtils.getParameterizedClass(ReflectionUtils.java:302) at 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.(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)

この作業を行うにはどうすればよいですか?

4

1 に答える 1

0

github で問題を報告してください。詳しく調べます。

于 2013-11-15T22:35:17.087 に答える