在 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
操作并保留 id
和 address
以外的字段为空:
mapper.save(user, new DynamoDBMapperConfig(SaveBehavior.UPDATE_SKIP_NULL_ATTRIBUTES));
我只想使用 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
操作并保留 id
和 address
以外的字段为空:
mapper.save(user, new DynamoDBMapperConfig(SaveBehavior.UPDATE_SKIP_NULL_ATTRIBUTES));