我正在尝试在 Java 中的DynamoDBMapper的帮助下使用 hashKey 和 rangeKey 查询 DynamoDB。但我没有得到所有结果,它只返回其中的一部分。我的代码如下所示:
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<MyObj> myobjs = mapper.query(MyObj.class, queryExpression);
return myobjs;
}
MyObj
使用 DynamoDB 注释正确注释。所以我能够保存对象,但检索只返回部分结果。
DynamoDBMapper中的查询文档说:
查询方法返回“延迟加载”集合。也就是说,最初它只返回一页结果。它会在需要时对下一页进行服务调用。
现在的问题是,如何告诉映射器进行服务调用或需要一个页面,以便它加载所有页面(实际上是所有条目)?