【发布时间】:2021-08-30 11:16:27
【问题描述】:
我在 DynamoDB 的 PK 中使用 UUID 时遇到问题
PK :EXAMPLE#{someUUID}
我正在使用 springboot 中的 @DynamoDBAutoGeneratedKey 注释生成 UUID,该注释在我的字段中生成 UUID,但在我的 PK 中不存在。
我的模型实现:
public class ExampleClass {
@DynamoDBHashKey(attributeName = "PK")
public String getPK() {
return "EXAMPLE" + someUUID;
}
@DynamoDBAttribute
@DynamoDBAutoGeneratedKey
private String someUUID;
}
当我使用 DynamoDBMapper.save 插入记录时,我的结果插入了具有所有属性的记录,但具有:
PK : EXAMPLE#null
在插入之前以编程方式创建 UUID 可以解决问题,但是我必须在每次插入之前手动生成 UUID,这并不理想。
有没有办法在使用 DynamoDBAutoGeneratedKey 时填充 getPK()?
【问题讨论】:
-
您使用的是旧的 DynamoDB Java V1 代码。查看如何使用 Amazon DynamoDB Java V2 API 和增强型客户端。见docs.aws.amazon.com/sdk-for-java/latest/developer-guide/…
-
“必须在每次插入之前手动生成 UUID,这并不理想”——为什么生成 GUID 值的几行代码并不理想?
标签: java amazon-web-services spring-boot nosql amazon-dynamodb