在 java 中使用 DynamoDBMapper 更新特定属性

Update specific attributes with DynamoDBMapper in java

我只想使用 DynamoDBMapper 更新项目的特定属性。 例如,我有一个 User table 属性,即 id、name、address。

@Data
@DynamoDBTable(tableName = "Users")
public class User {

    @DynamoDBHashKey
    @DynamoDBGeneratedUuid(DynamoDBAutoGenerateStrategy.CREATE)
    private String id;

    @DynamoDBAttribute
    private String name;

    @DynamoDBAttribute
    private Address address;

}

我只想更新地址属性而不是其他字段(选择性更新)。

我可以使用 UpdateItemSpec 找到示例示例,但找不到 DynamoDBMapper。 通过 UpdateItemSpec,我可以使用 withUpdateExpression() 来定义更新表达式。 可以找到更多详细信息 here.

有什么方法可以用 DynamoDBMapper 实现同样的效果吗?

使用 UPDATE_SKIP_NULL_ATTRIBUTES 保存行为

更多详情:https://aws.amazon.com/blogs/developer/using-the-savebehavior-configuration-for-the-dynamodbmapper/

将 SaveBehavior 添加到您的 save 操作并保留 idaddress 以外的字段为空:

mapper.save(user, new DynamoDBMapperConfig(SaveBehavior.UPDATE_SKIP_NULL_ATTRIBUTES));