0

我正在使用 dynamodb 增强客户端并定义了一些分布在不同 java 对象中的模型。为此,我使用了@DynamoDBFlatten 注释。DynamoDBFlatten 注释的文档提到“唯一的限制是属性在滚动时不能具有相同的名称,并且不能有多个分区键、排序键或表名。”</p>

我想在汇总的类中声明 GSI,但是这样做会引发错误 - “表没有指定的索引”</p>

代码示例:

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@DynamoDbBean
public class Customer {
    @Getter(onMethod_ = { @DynamoDbAttribute(“pk”), @DynamoDbPartitionKey})
    private String pk;

    @Getter(onMethod_ = { @DynamoDbAttribute(“sk”), @DynamoDbSortKey})
    private String sk;

    @Getter(onMethod_ = { @DynamoDbAttribute(“record”), @DynamoDbFlatten})
    private GenericRecord record;
}

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@DynamoDbBean
public class GenericRecord {
    @Getter(onMethod_ = { @DynamoDbAttribute(“recordId”), @DynamoDbSecondaryPartitionKey(indexNames = “recordIdIndex”) })
    private String recordId;
 }

有什么方法可以达到同样的效果吗?

4

0 回答 0