Я использую Dyanmodb Mapper для хранения элемента, который будет иметь хеш-ключ, дату, а затем более 50 других переменных, все из которых являются строками, которые поступают из входного потока JSON.Таблица будет иметь столбец для каждой переменной с уникальным именем.Я знаю, что могу просто создать класс со всеми 50 строковыми переменными и их соответствующими получателями / установщиками с атрибутом Dynamodb для имени атрибута. У меня такой вопрос: Есть ли более эффективный способ сделать это?
В идеале я мог бы использовать массив или карту для хранения значений, а затем каким-то образом сопоставить индексы массива с уникальным именем.Может быть, перечислить типы?
В настоящее время я набрал элемент класса со всеми 50+ переменными, аналогично предоставленному фрагменту кода, и мои пальцы и глаза страдали из-за этого.
@DynamoDBTable(tableName = "ProductCatalog")
public static class Book {
private int id;
private String title;
private String ISBN;
private Set<String> bookAuthors;
private DimensionType dimensionType;
// Partition key
@DynamoDBHashKey(attributeName = "Id")
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@DynamoDBAttribute(attributeName = "Title")
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
@DynamoDBAttribute(attributeName = "ISBN")
public String getISBN() {
return ISBN;
}
public void setISBN(String ISBN) {
this.ISBN = ISBN;
}
@DynamoDBAttribute(attributeName = "Authors")
public Set<String> getBookAuthors() {
return bookAuthors;
}