Spring 引导,MongoDB:嵌入式文档中的字段正在重命名

Spring Boot, MongoDB: Fields in Embedded Documents getting Renamed

我有一份主要文件:

@Document
public class MainDocument {
    private String name;
    private String desc;
    private List<Nested> nestedList;
    -- More fields/methods --
}

和嵌入的文档:

@Document
public class Nested {
    private String nestedUser;
    private String nestedTitle;
    -- More fields/methods --
}

尝试在 List<Nested> 中存储嵌套 class 的新实例时,嵌套 class 的字段正在重命名。例如,nestedTitle 变为 title。这没什么大不了的,除了它不允许我设置一些重命名字段的值。

我已尝试使用 @Field("field_name") 注释,但字段仍会重命名并忽略设置它们的值的尝试。

什么会导致某些字段被重命名?我错过了什么吗?大约一半的字段被重命名,其余的保持正确的名称...

我正在测试使用 POSTMAN 向主文档的控制器发送 JSON 请求。即使我在 JSON 请求中使用新的字段名称,该值仍然不会被设置。

想通了...

Getter nestedTitle 的方法被命名为 getTitle() 因此它根据 getter 方法名称重命名。更改为 getNestedTitle() 并且不再重命名。更改了相关字段的其他 getter 方法,现在一切正常。

不确定为什么它会根据方法名称重命名字段,但我该判断谁Spring...发布此答案可以节省其他人几个小时的时间。