Работа с автоматически генерируемым первичным ключом DynamodB (UUID) - PullRequest
0 голосов
/ 04 ноября 2019

Я новичок в этой базе данных, в настоящее время пытаюсь написать небольшое Java-приложение и обработать данные с помощью DynamodB.

В качестве требования мне нужно использовать автоматически сгенерированный идентификатор в качестве первичного ключа и установить другой атрибут какindex hashkey, аннотация выглядит следующим образом:

@DynamoDBGeneratedUuid( DynamoDBAutoGenerateStrategy.CREATE )
private UUID id;
@DynamoDBAutoGeneratedKey
@DynamoDBHashKey(attributeName="id") 
@XmlElement(name="id")
public UUID getId() {
    return id;
}
public void setId(UUID id) {

    this.id = id;
}

@DynamoDBIndexHashKey(attributeName="courseId", globalSecondaryIndexName = "courserId-index")
@XmlElement(name="courseId")
public String getCourseId(){
    return this.courseId;
}

public void setCourseId(String courseId){
    this.courseId=courseId;
}

Я узнал, что всякий раз, когда я выполняю операцию обновления или удаления, я должен передавать первичный ключ, но как я могу узнать первичный ключ (он случайный)прежде чем делать какой-либо запрос? Единственный обходной путь, который я могу найти, - это использовать выражение фильтра, чтобы сначала получить первичный ключ с ключом хеш-индекса (в приведенном выше коде, courseId), а затем выполнить операции обновления / удаления с первичным ключом, но я просто чувствую, что этонеправильно. Есть ли более простой способ выполнить эти операции, если использовать UUID в качестве первичного ключа?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...