[英]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.