Используя DynamoDbMapper со многими переменными, есть ли способ сопоставить переменные с массивом или картой и поддерживать уникальные имена атрибутов? - PullRequest
0 голосов
/ 11 июня 2019

Я использую 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;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...