Amazon web services DynamoDB映射程序:仅更新非空属性

Amazon web services DynamoDB映射程序:仅更新非空属性,amazon-web-services,updates,amazon-dynamodb,Amazon Web Services,Updates,Amazon Dynamodb,我使用的是AWS SDK提供的映射器和Java。 我需要更新DynamoDB上的记录:使用映射器,有没有办法避免映射实体的null属性存储在DynamoDB上,从而覆盖旧值 我试着用一个例子来解释我的问题。 我有一个java实体,它有三个属性:id、a、b。它被映射到仅具有hashKey的DynamoDB表,位于字段id上。 在DynamoDB上,它存储了一条记录{“id”:“1”,“a”:“aa”}。 在对id为1、a:null和b:bb的实体调用更新后,我在DynamoDB上找到一条记录{“

我使用的是AWS SDK提供的映射器和Java。 我需要更新DynamoDB上的记录:使用映射器,有没有办法避免映射实体的null属性存储在DynamoDB上,从而覆盖旧值

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

有什么解决办法吗


谢谢

您将对新的
SaveBehavior
策略非常感兴趣,该策略最近在v1.5.4中引入。新的
SaveBehavior
策略称为
UPDATE\u SKIP\u NULL\u ATTRIBUTES
。这个新的
SaveBehavior
与现有的
UPDATE
策略非常相似。唯一的区别是,使用null值发送的任何属性都不会从DynamoDB中的项中删除。是指向JavaDoc的链接