我正在使用 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;
}
有什么方法可以达到同样的效果吗?