我有一个可以有动态键名的文档:
{
"_id" : ObjectId("51a29f6413dc992c24e0283e"),
"envinfo" : {
"appName" : "MyJavaApp",
"environment" : {
"cpuCount" : 12,
"heapMaxBytes" : 5724766208,
"osVersion" : "6.2",
"arch" : "amd64",
"javaVendor" : "Sun Microsystems Inc.",
"pid" : 44996,
"javaVersion" : "1.6.0_38",
"heapInitialBytes" : 402507520,
}
这里 envinfo
的 key 是事先不知道的。
在 Spring Data Mongodb 中创建将映射此文档的实体类的最佳方法是什么?
最佳答案
这是一种方法。可能还有其他更好的方法。
创建属性映射并将映射存储在 mongo 中。
public class Env {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private ObjectId id;
@Field
private Envinfo envinfo;
public static class Envinfo {
@Field
private String appName;
@Field
private Map<String, String> attributes;
}
}
如果您事先知道 key ,您可以将这些属性添加到 Envinfo 中并将它们保留在属性映射之外。
关于java - 如何将带有动态键的文档映射到 Spring MongoDb 实体类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17899872/