Java 如何使用DynamoDBMapper批量保存实体跳过空属性
我使用Java 如何使用DynamoDBMapper批量保存实体跳过空属性,java,amazon-dynamodb,Java,Amazon Dynamodb,我使用UPDATE\u SKIP\u NULL\u ATTRIBUTES作为创建映射器的配置,以便保存实体并跳过NULL属性。它确实奏效了。但是,当我调用batchSave时,它不起作用 有人知道这个问题吗 ``` DynamoDBMapperConfig update_config = DynamoDBMapperConfig.builder() .withSaveBehavior(DynamoDBMapperConfig.SaveBehavior.UPDATE_SKIP_NU
UPDATE\u SKIP\u NULL\u ATTRIBUTES
作为创建映射器的配置,以便保存实体并跳过NULL属性。它确实奏效了。但是,当我调用batchSave时,它不起作用
有人知道这个问题吗
```
DynamoDBMapperConfig update_config = DynamoDBMapperConfig.builder()
.withSaveBehavior(DynamoDBMapperConfig.SaveBehavior.UPDATE_SKIP_NULL_ATTRIBUTES)
.build();
mapper = new DynamoDBMapper(client, update_config);
List<DynamoDBMapper.FailedBatch> failedBatches = mapper.batchSave(one, two);
```
```
DynamoDBMapperConfig update_config=DynamoDBMapperConfig.builder()
.withSaveBehavior(DynamoDBMapperConfig.SaveBehavior.UPDATE\u SKIP\u NULL\u属性)
.build();
映射器=新的DynamoDBMapper(客户端,更新配置);
List failedbacks=mapper.batchSave(一,二);
```
最后,我发现null属性已更新为DB,我不想这样做。我只想用NOTNULL值保存属性。好吧,我读了DynamoDBMapper的文档,发现它确实不支持
批量保存跳过空属性的功能
以下是链接:
原因是:
config-仅考虑DynamoDBMapperConfig.getTableNameOverride()和DynamoDBMapperConfig.getBatchWriteRetryStrategy()。如果指定了TableNameOverride,则两个参数列表中的所有对象都将被视为属于给定的表替代。特别是,无论config参数的值是多少,此方法的作用总是好像指定了**SaveBehavior.CLOBBER**。
所以,我不知道如何只更新多个实体中的一个字段。我必须通过PK获得所有,然后保存它们