Я пытаюсь сохранить массив строк в таблице AWS DynamoDB. По большей части этот массив будет заполнен хотя бы одной строкой. Однако есть случай, когда массив может быть пустым.
Я создал модель DynamoDB в функции Java Lambda, которая имеет набор строк в качестве одного из свойств. Если я попытаюсь сохранить модель DynamoDB, когда набор строк пуст, это дает мне ошибку, говоря, что я не могу сохранить пустой набор в DynamoDB.
Итак, мой вопрос: как бы обработать удаление этого свойства set, когда он пуст из моей модели, прежде чем я сохраню/обнов его в DynamoDB?
Вот пример модели.
@DynamoDBTable(tableName = "group")
public class Group {
private String _id;
private Set<String> users;
@Null
@DynamoDBHashKey
@DynamoDBAutoGeneratedKey
public String getId() {
return _id;
}
public void setId(final String id) {
_id = id;
}
@DynamoDBAttribute
public Set<String> getUsers(){
return users;
}
public void setUsers(final Set<String> users) {
this.users = users;
}
public void addUser(String userId) {
if(this.users == null){
this.setUsers(new HashSet<String>(Arrays.asList(userId)));
}else{
this.getUsers().add(userId);
}
}
}
Первый раз, когда я создам группу. Он может не иметь пользователя, или может иметь одного или нескольких пользователей.