Я пытаюсь запросить DynamoDB с помощью DynamoDBMapperв Java с использованием как hashKey, так и rangeKey. Но я не получаю все результаты, он возвращает только часть из них. Мой код выглядит так:
queryDynamoDb() {
Condition rangeKeyCondition = new Condition()
.withComparisonOperator(ComparisonOperator.GT.toString())
.withAttributeValueList(new AttributeValue().withS("0"));
DynamoDBQueryExpression queryExpression = new DynamoDBQueryExpression(
new AttributeValue().withS(prefKey));
queryExpression.setRangeKeyCondition(rangeKeyCondition);
List myobjs = mapper.query(MyObj.class, queryExpression);
return myobjs;
}
MyObj
правильно снабжен аннотациями DynamoDB. Таким образом, я могу сохранять объекты, но поиск возвращает только частичный результат.
В документации queryв DynamoDBMapperговорится:
Метод запроса возвращает "лениво загруженную" коллекцию. То есть изначально он возвращает только одну страницу результатов. При необходимости он вызывает сервисный запрос для следующей страницы.
Теперь вопрос в том, как сообщить картографу, что нужно вызвать службу или что нужна страница, чтобы он загружал все страницы (фактически все записи)?