我有一个用例,我想从Java中的DynamoDB中读取Map。我面临的问题是如何在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。这样行吗?
答案 0 :(得分:0)
为什么不创建自己的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;
}