通过将DynamoDbMapper与许多变量一起使用,是否可以将变量与数组映射或映射并维护唯一的属性名称?

时间:2019-06-11 16:42:29

标签: java amazon-dynamodb amazon-dynamodb-data-modeling

我正在使用Dyanmodb映射器存储一个项目,该项目将具有哈希键,日期,然后包含50多个其他变量,所有这些变量都是字符串,这些变量来自输入JSON流。然后,该表将为每个变量具有唯一名称的列。我知道我可以简单地用所有50个字符串变量及其对应的getters / setters创建类,并使用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;
    }

0 个答案:

没有答案