【发布时间】:2017-04-10 14:05:48
【问题描述】:
我在将 spring data mongodb 与 kotlin 一起使用时遇到了问题。当我尝试从 mongodb 读取对象时,我收到一个错误,抱怨我的数据类没有默认的无参数构造函数。我可以通过给我的数据类中的每个字段一个值来解决这个问题,因此编译器将生成一个默认的无参数构造函数。当然,我真的不想这样做。
我知道有一个 jackson kotlin 模块,它包含在我的 maven 文件中。它适用于反序列化我通过 http 获得的对象,所以我知道 spring 会接受它。然而,spring data mongodb似乎不使用jackson objectmapper?
有没有办法可以在 spring data mongodb 中使用 jackson objectmapper 或解决没有非 args 构造函数的问题?
【问题讨论】:
-
这通常是与杰克逊相关的问题。 Jackson、Hibernate 和其他为您创建对象的工具需要对象声明一个无参数构造函数。实际上这是有道理的,因为框架不知道在 arg-constructors 的情况下要分配的值。顺便说一下,用一些示例代码可以更好地解释您的问题。
-
有点晚了,但请给我看看你的数据类。我认为您使用的是默认值,不是吗?
标签: spring spring-data kotlin spring-data-mongodb