使用Objectify获取光标而不迭代项目

时间:2013-01-17 21:47:35

标签: java google-app-engine google-cloud-datastore paging objectify

我想执行查询,获取结果然后将光标移动到下一个项目(如果有的话)。我找到的唯一相关帖子是:Objectify paging with Cursors

有没有办法在不重复项目的情况下这样做?

Query<User> query = ofy().load().type(User.class).limit(RecordLimit).filter("gameId", gameId);
//execute and get the results
List<User> users = query.list()
//get the cursor for the next user

2 个答案:

答案 0 :(得分:1)

String cursor = query.iterator().getCursor().toWebSafeString();

查看这些unit tests以使事情更加清晰。

答案 1 :(得分:-2)

Query本身是可迭代的 - 就像光标一样。

你可以直接做:

Query<User> query = blah;
for(User u: query) {
    //u is next item from the "cursor"
}