异构 Dynamo 查询
Heterogenous Dynamo Query
我有一个 table 可以装两种物品。每个 Hash key 都有一些这两种项目类型,并且每个都有一个唯一的 range key。我已经设计了两个相应的和适当的 Dynamo 注释的 Pojos,但是,我对查询有点困惑。我知道我给查询一个 Pojo class 来查询,但是如果我查询一个散列键给它,比如说,预期的 class 的 PojoA,Dynamo 会自动只获取那些 PojoA 或它还会尝试将从哈希键查询中找到的 PojoB 转换为 PojoA 吗?
DynamoDB 客户端将尝试将 PojoB 转换为 PojoA。理想情况下,table 中的记录应该属于同一类型。
如果你真的必须在这种情况下使用映射器,你可以考虑使用marshallIntoObject方法。要使用此方法,您需要
- 使用低级客户端从 DynamoDB 加载项目
- 检查项目属性以确定它是哪个 pojo class。属性必须用作区分器。
- 对项目属性使用 marshallIntoObject 方法来创建所需 pojo 的实例 class。
我有一个 table 可以装两种物品。每个 Hash key 都有一些这两种项目类型,并且每个都有一个唯一的 range key。我已经设计了两个相应的和适当的 Dynamo 注释的 Pojos,但是,我对查询有点困惑。我知道我给查询一个 Pojo class 来查询,但是如果我查询一个散列键给它,比如说,预期的 class 的 PojoA,Dynamo 会自动只获取那些 PojoA 或它还会尝试将从哈希键查询中找到的 PojoB 转换为 PojoA 吗?
DynamoDB 客户端将尝试将 PojoB 转换为 PojoA。理想情况下,table 中的记录应该属于同一类型。
如果你真的必须在这种情况下使用映射器,你可以考虑使用marshallIntoObject方法。要使用此方法,您需要
- 使用低级客户端从 DynamoDB 加载项目
- 检查项目属性以确定它是哪个 pojo class。属性必须用作区分器。
- 对项目属性使用 marshallIntoObject 方法来创建所需 pojo 的实例 class。