无法使用带参数的构造函数NO_CONSTRUCTOR实例化java.util.List]

问题描述 投票:2回答:2

我正进入(状态

Failed to instantiate java.util.List using constructor NO_CONSTRUCTOR with arguments ] with root cause
org.springframework.beans.BeanInstantiationException: Failed to instantiate [java.util.List]: Specified class is an interface

更新mongodb嵌套文档时出现此异常。

问题与此链接中讨论的问题相同

http://forum.spring.io/forum/spring-projects/data/nosql/724397-mapping-exception-with-mongodb-aggregation-framework

但仍然不知道如何解决它。有谁经历过这个?

java spring mongodb
2个回答
6
投票

我只是遇到了同样的问题并解决了它,这要归功于:Mongo db java unwind operation in aggregate query throwing exception

在聚合中放松发生时,结果变平了,所以在我的情况下,我有一个类如下:

MyClass {
   String _id;
   List<SomeObject> objectList;
}

出现异常是因为展平,我的列表对象上的结果而不是数组中的结果,现在因为$ unwind而只是一个对象。

我为解决这个问题所做的是创建没有列表的同一个类:

MyClassAggregationResult {
  String _id;
  SomeObject objectList;
}

这样就可以正确映射结果。

希望这也适合你。


1
投票

改为如下,它应该工作

String _id;

SomeObject objectList;

© www.soinside.com 2019 - 2024. All rights reserved.