我有GAE数据存储中的游戏列表,我想查询它们的固定数量,从某个偏移量开始,即得到接下来的25个游戏,从ID为“75”的表单输入开始。App Engine Java:用于设置查询限制和起始偏移量的语法。
PersistenceManager pm = PMF.get().getPersistenceManager(); // from Google examples
Query query = pm.newQuery(Game.class); // objects of class Game are stored in datastore
query.setOrdering("creationDate asc");
/* querying for open games, not created by this player */
query.setFilter("state == Game.STATE_OPEN && serverPlayer.id != :playerId");
String playerId = "my-player-id";
List<Game> games = query.execute(playerId); // if there's lots of games, returned list has more entries, than user needs to see at a time
//...
现在我需要扩展该查询来获取只有25个游戏和只有游戏后ID为“75”的条目。因此,用户可以浏览打开的游戏,一次只能获取其中的25个。 我知道GAE数据存储有很多示例,但这些示例大部分都是Python,包括用于设置查询限制的示例代码。 我正在寻找一个可用的Java代码示例,到目前为止找不到。
使用不等于查询过滤掉(我假定是)一个结果是浪费资源 - SDK必须执行两个查询来满足这个要求。相反,从返回的结果集中筛选出您不想要的单个结果。 –
最多可以有5场比赛,属于有问题的球员。但实际上在查询数以百计的游戏时,1或5没有任何区别,所以你明白了,我只是从查询中移出“!=”逻辑。 – i4niac