DynamoDB映射器:仅更新非空属性

Uli*_*sse 4 updates amazon-web-services amazon-dynamodb

我正在使用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"}.

有解决方案吗

谢谢

Wad*_*nko 8

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