У меня возникли проблемы с формированием запроса, который может запрашивать заданную партию идентификаторов в DynamoDB.
Моя модель:
@DynamoDBTable(tableName = "person_detail")
data class PersonDetail constructor(
@DynamoDBHashKey(attributeName = "person_id")
var personId: Long,
@DynamoDBRangeKey(attributeName = "phone_number")
var phoneNumber: String,
@DynamoDBAttribute(attributeName = "other_attribute")
var otherAttribute: String,
)
Я должен хранить здесь типичное отношение «один ко многим» в РСУБД. Один человек с идентификатором 123 может иметь несколько телефонных номеров. Я пытаюсь хранить их в разных рядах. Запрос, который я пытаюсь сформировать, представляет собой набор идентификаторов, мне нужно найти все их детали.
То, что я мог бы решить, это дать один идентификатор, я могу найти его детали, используя это:
return dynamoDBMapper.query(
PersonDetail::class.java,
DynamoDBQueryExpression<PersonDetail>().apply {
hashKeyValues = PersonDetail(id)
}
).toList()
Я изо всех сил пытаюсь найти правильный API для использования, чтобы я мог изменить это так что вместо передачи одного идентификатора за раз, я могу передать несколько идентификаторов одновременно. Не могли бы вы помочь мне с этим?
Спасибо.