Morphia 自定义转换器:我可以将嵌套的 Java 对象的字段直接插入到父文档中吗?

Morphia custom converter: Can I insert a nested Java object's fields directly into the parent document?

我有以下 classes:

@Entity(value="students", noClassnameStored=true)
public class Student {
    @Id 
    private String studentId;
    private String firstName;
    private String lastName;
    private Address address;
}

public class Address {
    private String street;
    private String city;
    private Integer zip;
    private String state;
}

当我保存学生 class 的实例时,我希望它们以以下格式保存在 Mongo 数据库中:

{
 _id: "12345",
 firstName: "Cler",
 lastName: "Fit",
 street: "123 xyz"
 city: "unnt",
 zip: 76443
 state: "IM"
}

换句话说,即使要保存的 Java 对象具有嵌套成员,我也希望它在生成的文档中保存为平面结构。我可以在 Morphia 中这样做吗?我知道我可以通过在 "Student" class 上定义一个自定义转换器来做到这一点。但是我在 class 中的字段比上面显示的要多得多,我不想单独处理每个字段。理想情况下,我希望在 "Address" class 上定义一个自定义转换器,它有望实现相同的结果。

尝试搜索 Morphia API 文档。不幸的是,API 文档中没有提及太多内容。

Morphia 目前不支持这样的扁平化文档,不。您也许可以使用 @Pre- 和 @Post- 注释强制将数据输入和输出该形状,但这需要大量手动映射。