5

我正在使用 AWS SDK 提供的映射器和 Java。我需要更新 DynamoDB 上的记录:有什么方法可以使用映射器来避免映射实体的空属性存储在 DynamoDB 上,从而覆盖旧值?

我试着用一个例子来解释我的问题。我有一个具有三个属性的 java 实体:id、a、b。它仅在字段 id 上映射到带有 hashKey 的 DynamoDB 表。在 DynamoDB 上,它存储了一条记录 {"id":"1", "a":"aa"}。在对具有 id:1、a:null 和 b:"bb" 的实体调用更新后,我在 DynamoDB 上找到了一条记录 {"id":"1", "b":"bb"}。

有什么解决办法吗?

谢谢

4

1 回答 1

8

您将对SaveBehavior最近在 v1.5.4 中引入的新策略非常感兴趣。新SaveBehavior战略被称为UPDATE_SKIP_NULL_ATTRIBUTES。这种新策略SaveBehavior与现有策略非常相似UPDATE。唯一的区别是任何使用空值发送的属性都不会从 DynamoDB 中的项目中删除。是 JavaDoc 的链接。

于 2013-08-14T20:19:27.053 回答