Java Spring Mongotemplate在创建实例时失败
我使用MongoTemplate从MongoDb获取数据。下面是我的POJO代码和从Mongo获取数据的方法。我在API命中时得到异常。这是一个补丁API调用。 这是一个Spring应用程序,而不是Spring引导应用程序 波乔 从Mongo访问数据的方法:Java Spring Mongotemplate在创建实例时失败,java,spring,mongodb,mongotemplate,Java,Spring,Mongodb,Mongotemplate,我使用MongoTemplate从MongoDb获取数据。下面是我的POJO代码和从Mongo获取数据的方法。我在API命中时得到异常。这是一个补丁API调用。 这是一个Spring应用程序,而不是Spring引导应用程序 波乔 从Mongo访问数据的方法: private List<MyClass> getAllValues(Long identity, String title) { Query query= new Query(); memSu
private List<MyClass> getAllValues(Long identity, String title) {
Query query= new Query();
memSubscriptionQuery.addCriteria(Criteria.where("identityNumber").is(identityNumber).and("title").is(title));
return mongoTemplate.find(query, MyClass .class);
}
看起来您正在将一个类对象传递给mongo模板,并期望得到一个列表
return mongoTemplate.find(query, MyClass .class);
您可能必须将方法的返回类型更改为MyClass
如果需要列表而不是对象,则必须将类对象包装到另一个获取对象列表的类中。MongoTemplate.find返回OP使用的正确列表。作为例外通知,OP应该创建另一个构造函数来包含所有变量,如@AllArgConstructors。包装选项是什么?如果我可以返回MyClass对象列表,请您提供代码快照的一点信息。您还可以提供您试图解析的json吗?@M.WaqasPervez我不认为这是一个答案。find返回使用的OP正确的列表。作为例外通知,OP应该创建另一个构造函数来包含所有变量,如@AllArgConstructors。
org.springframework.data.mapping.model.MappingInstantiationException: Failed to instantiate java.util.List using constructor NO_CONSTRUCTOR with arguments
at org.springframework.data.convert.ReflectionEntityInstantiator.createInstance(ReflectionEntityInstantiator.java:64)
at org.springframework.data.convert.ReflectionEntityInstantiator.createInstance(ReflectionEntityInstantiator.java:64)
at org.springframework.data.convert.ClassGeneratingEntityInstantiator.createInstance(ClassGeneratingEntityInstantiator.java:83)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:258)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:238)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.readValue(MappingMongoConverter.java:1218)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.access$200(MappingMongoConverter.java:85)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter$MongoDbPropertyValueProvider.getPropertyValue(MappingMongoConverter.java:1166)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.getValueInternal(MappingMongoConverter.java:877)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter$1.doWithPersistentProperty(MappingMongoConverter.java:290)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter$1.doWithPersistentProperty(MappingMongoConverter.java:278)
at org.springframework.data.mapping.model.BasicPersistentEntity.doWithProperties(BasicPersistentEntity.java:330)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:278)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:238)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.readValue(MappingMongoConverter.java:1218)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.access$200(MappingMongoConverter.java:85)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter$MongoDbPropertyValueProvider.getPropertyValue(MappingMongoConverter.java:1166)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.getValueInternal(MappingMongoConverter.java:877)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter$1.doWithPersistentProperty(MappingMongoConverter.java:290)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter$1.doWithPersistentProperty(MappingMongoConverter.java:278)
at org.springframework.data.mapping.model.BasicPersistentEntity.doWithProperties(BasicPersistentEntity.java:330)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:278)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:238)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:198)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:194)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:85)
at org.springframework.data.mongodb.core.MongoTemplate$ReadDbObjectCallback.doWith(MongoTemplate.java:2313)
at org.springframework.data.mongodb.core.MongoTemplate.executeFindMultiInternal(MongoTemplate.java:1966)
at org.springframework.data.mongodb.core.MongoTemplate.doFind(MongoTemplate.java:1784)
at org.springframework.data.mongodb.core.MongoTemplate.doFind(MongoTemplate.java:1767)
at org.springframework.data.mongodb.core.MongoTemplate.find(MongoTemplate.java:641)
at org.springframework.data.mongodb.core.MongoTemplate.find(MongoTemplate.java:632)
at
return mongoTemplate.find(query, MyClass .class);
private MyClass getAllValues(Long identity, String title)