У меня есть атрибут с именем Attribute, который установлен в DynamoDB (не обязательно), все значения для атрибутов будут отправлены через API, который будет добавлен в DynamoDB. Я использую
@DynamoDBAttribute(attributename = Attribute)
private set<String> Attribute
public Set<String> getAttribute() {
if(CollectionUtils.isNullOrEmpty(Attribute)) {
return ImmutableSet.of(DEFAULT_ATTRIBUTE);
} else {
return ImmutableSet.copyOf(Attribute);
}
}
public void setAttribute(final Set<String> Attribute) {
if (CollectionUtils.isNullOrEmpty(Attribute)) {
this.categories = ImmutableSet.of();
} else {
this.categories = ImmutableSet.copyOf(Attribute);
}
}
Я ожидаю, что моя таблица DynamoDB будет иметь пустой набор, когда мы не передадим значение атрибута в запросе, который мы используем, но вместо этого он сохраняет DEFAULT_ATTRIBUTE как Значение поля Атрибут.
У моего DynamoDBMapperConfig.Savebehavior есть ОБНОВЛЕНИЕ по умолчанию, но я вижу, что при сохранении нового значения все поведение при сохранении работает одинаково.
Если кто-нибудь знает проблему, пожалуйста, помогите мне с этим, я был пытаясь отладить это из долгого времени. Я хочу знать, почему значение в getAttribute хранится как значение атрибута?