Mongodb 实例化泛型类型为Spring Data Mongo的错误抽象类

Mongodb 实例化泛型类型为Spring Data Mongo的错误抽象类,mongodb,spring-data,mongotemplate,Mongodb,Spring Data,Mongotemplate,你好 我有一些课程: 1。扩展到值的TermValue 但是,如果我将class选项(第3项)中的值的类型更改为TermValue(在值之前),则正常,没有错误 如何解决(或替代)这些问题?尝试通过java代码保存数据,这样您就不会面临这个问题 它们是一个字段\u类,数据库中需要它来映射正确的实现。当您输入数据时,会自动创建带有类名值(如下所示)的\u class字段,但在手动输入数据时,我们无法添加该字段,这会导致实例化错误 我的lms类(抽象类)也面临这个问题,LTI配置类正在实现lms M

你好

我有一些课程:

1。扩展到
值的TermValue

但是,如果我将class选项(第3项)中的
值的类型更改为
TermValue
(在
值之前),则正常,没有错误


如何解决(或替代)这些问题?

尝试通过java代码保存数据,这样您就不会面临这个问题

它们是一个字段\u类,数据库中需要它来映射正确的实现。当您输入数据时,会自动创建带有类名值(如下所示)的\u class字段,但在手动输入数据时,我们无法添加该字段,这会导致实例化错误

我的lms类(抽象类)也面临这个问题,LTI配置类正在实现lms

Mongo db结构,含_类:

{
    "providers" : {
        "lti" : {
            "integrationConfiguration" : {
                "launchUrl" : "",
                "key" : "",
                "secret" : "",
                "_class" : "com.projectName.common.model.configuration.LTIConfiguration"
            }
        }
    }
}

这并不能回答问题
public abstract class Value<T> implements Serializable {

    public static String VALUE_ATTR = "value";

    public static String DISPLAY_VALUE_ATTR = "displayValue";

    public static String DISPLAY_NAME_ATTR = "displayName";

  :
  :
}
public class Option implements Serializable {
    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    protected List<Value<?>> values;
  :
  :
}
java.lang.InstantiationError: id.co.bippo.commerce.share.Value
    at id.co.bippo.commerce.share.Value_Instantiator_kj58jw.newInstance(Unknown Source)
    at org.springframework.data.convert.ClassGeneratingEntityInstantiator$EntityInstantiatorAdapter.createInstance(ClassGeneratingEntityInstantiator.java:224)
    at org.springframework.data.convert.ClassGeneratingEntityInstantiator.createInstance(ClassGeneratingEntityInstantiator.java:86)
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:273)
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:253)
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.readCollectionOrArray(MappingMongoConverter.java:978)
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.readValue(MappingMongoConverter.java:1386)
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter$MongoDbPropertyValueProvider.getPropertyValue(MappingMongoConverter.java:1335)
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.readProperties(MappingMongoConverter.java:335)
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:297)
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:253)
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.readCollectionOrArray(MappingMongoConverter.java:978)
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.readValue(MappingMongoConverter.java:1386)
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter$MongoDbPropertyValueProvider.getPropertyValue(MappingMongoConverter.java:1335)
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.readProperties(MappingMongoConverter.java:335)
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:297)
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:253)
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.readCollectionOrArray(MappingMongoConverter.java:978)
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.readValue(MappingMongoConverter.java:1386)
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter$MongoDbPropertyValueProvider.getPropertyValue(MappingMongoConverter.java:1335)
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.readProperties(MappingMongoConverter.java:335)
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:297)
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:253)
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:202)
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:198)
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:86)
    at org.springframework.data.mongodb.core.MongoTemplate$ReadDocumentCallback.doWith(MongoTemplate.java:2785)
    at org.springframework.data.mongodb.core.MongoTemplate.executeFindOneInternal(MongoTemplate.java:2401)
    at org.springframework.data.mongodb.core.MongoTemplate.doFindOne(MongoTemplate.java:2193)
    at org.springframework.data.mongodb.core.MongoTemplate.findOne(MongoTemplate.java:716)
    at org.springframework.data.mongodb.core.MongoTemplate.findOne(MongoTemplate.java:704)
    at id.co.bippo.commerce.mongo.MongoConnectionTest.show_simplified_product_variant(MongoConnectionTest.java:103)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
    at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)
{
    "providers" : {
        "lti" : {
            "integrationConfiguration" : {
                "launchUrl" : "",
                "key" : "",
                "secret" : "",
                "_class" : "com.projectName.common.model.configuration.LTIConfiguration"
            }
        }
    }
}