Java 如何在另一列中使用DynamoDBAutoGeneratedKey?

Java 如何在另一列中使用DynamoDBAutoGeneratedKey?,java,amazon-web-services,amazon-dynamodb,uuid,Java,Amazon Web Services,Amazon Dynamodb,Uuid,我有DynamoDB表,我正在使用@DynamoDBAutoGeneratedKey生成密钥。我还有一个列名为directory,我想在该列中使用自动生成的ID值 例如,如果 id=3ea8e671-1e64-4cde-bd78-5980049a772b 然后我想插入 directory=/3ea8e671-1e64-4cde-bd78-5980049a772b 我不想使用UUID.randomUUID()。另一个选项是在生成id后更新列。在这种情况下,我需要先插入,然后更新该列。如何在单个db

我有DynamoDB表,我正在使用
@DynamoDBAutoGeneratedKey
生成密钥。我还有一个列名为
directory
,我想在该列中使用自动生成的ID值

例如,如果

id=3ea8e671-1e64-4cde-bd78-5980049a772b

然后我想插入

directory=/3ea8e671-1e64-4cde-bd78-5980049a772b


我不想使用
UUID.randomUUID()
。另一个选项是在生成id后更新列。在这种情况下,我需要先插入,然后更新该列。如何在单个db操作中做到这一点?

@DynamoDBAutoGeneratedKey
确实是
UUID.randomUUID()


简言之,为了实现您想要的目的,需要创建另一个getId方法并使用
@dynamodbGenerateDuid(DynamoDBAutoGenerateStrategy.create)
对其进行注释,并在get方法中为键和列使用其值

是否需要将生成的id复制到另一列中(无论是否为某个常量添加前缀或后缀)?只是好奇为什么?如果前缀/后缀可以不同,那么为什么不直接存储它们,因为您将始终获得生成的id作为响应的一部分,因为它是一个键。所以你可以操纵而不是复制