异构Dynamo查询

时间:2015-06-24 22:34:04

标签: amazon-web-services amazon-dynamodb

我有一张桌子,里面有两种物品。每个哈希键都有一些这两种项目类型,每个项目类型都有一个唯一的范围键。我设计了两个相应的和适当的Dynamo注释Pojos,但是,我对查询有点困惑。我知道我给Query一个Pojo类,但是如果我查询一个散列键给出它,比如说,PojoA是预期的类,那么Dynamo会自动只获得那些PojoA,还是会尝试投射PojoB的从Hash密钥查询作为PojoA的?

1 个答案:

答案 0 :(得分:0)

DynamoDB客户端将尝试将PojoB转换为PojoAs。理想情况下,表中的记录应该是相同的类型。

如果您确实必须在这种情况下使用映射器,则可以考虑使用marshallIntoObject方法。要使用此方法,您可以

  1. 使用低级客户端从DynamoDB加载项目
  2. 检查项属性以确定它是哪个pojo类。属性必须充当差异化因素。
  3. 对项目属性使用marshallIntoObject方法创建所需pojo类的实例。