Как получить все элементы из разбивки на страницы результата запроса DynamoDBMapper()?

Я пытаюсь запросить 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говорится:

Метод запроса возвращает "лениво загруженную" коллекцию. То есть изначально он возвращает только одну страницу результатов. При необходимости он вызывает сервисный запрос для следующей страницы.

Теперь вопрос в том, как сообщить картографу, что нужно вызвать службу или что нужна страница, чтобы он загружал все страницы (фактически все записи)?

9
задан Steffen Opel 29 May 2012 в 10:31
поделиться