我正在使用AWS SDK提供的映射器和Java。 我需要更新DynamoDB上的记录:有没有办法,使用映射器,以避免映射实体的null属性存储在DynamoDB上,覆盖旧值?
我试着用一个例子来解释我的问题。 我有一个具有三个属性的java实体:id,a,b。它仅在字段id上映射到仅具有hashKey的DynamoDB表。 在DynamoDB上,它存储了一个记录{“id”:“1”,“a”:“aa”}。 在调用id为1的实体的更新后,a:null和b:“bb”,我在DynamoDB上找到一条记录{“id”:“1”,“b”:“bb”}。
任何解决方案?
由于
答案 0 :(得分:7)
您将对最近在v1.5.4中引入的新SaveBehavior
策略非常感兴趣。新的SaveBehavior
策略称为UPDATE_SKIP_NULL_ATTRIBUTES
。这个新的SaveBehavior
与现有的UPDATE
策略非常相似。唯一的区别是,不会从DynamoDB中的项目中删除使用空值发送的任何属性。 Here是JavaDoc的链接。