繁体   English   中英

读/写地图 <String, Object> 从/到DynamoDB

[英]Reading/Writing a Map<String, Object> from/to DynamoDB

我有一个用例,我想从Java中的DynamoDB中读取地图。 我面临的问题是如何在Java中将Map转换为POJO。 例如,让以下内容成为Dynamo DB中的内容

{
    "someInfo": {
         "age" : {
            minAge : xx,
            maxAge : yy,
          },
         "city" : "abc",
         "education" : {
             "university" : "xyz",
             "major" : "def"
          }
     }
}

在我的Java服务中,我想将此读入一个对象,例如Map。 City,Education,Age都是它们自己的Java类。 如何将此数据建模为类? 以下模型可以工作吗:

@DynamoDBTable(tableName = "someotherinfo")
@Getter @Setter
public class SomeOtherInfo {


    @DynamoDBHashKey(attributeName = "id")
    private Long id;

    private Map<String, Object> someInfo;
}

有更好的方法吗? 我在想,也许我可以将someInfo作为Map使用,并在从表进行读写时将对象序列化和反序列化为JSON。 这样行吗?

为什么不创建自己的SomeInfo类:

class SomeInfo{
    private City city;
    private Age age;
    private Education education;

    // constructors

    // getters and setters
}

然后引用它而不是映射:

@DynamoDBTable(tableName = "someotherinfo")
@Getter @Setter
public class SomeOtherInfo {

    @DynamoDBHashKey(attributeName = "id")
    private Long id;

    private SomeInfo someInfo;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM