2

getCursor() javadoc 说:

返回:一个 Cursor 或 null 如果此查询结果无法恢复

“恢复”一词在上下文中是什么意思?

我的代码如下:

        com.googlecode.objectify.cmd.Query q = createQuery();
        QueryResultIterator<T> itr = q.iterator();
        while( itr.hasNext() )
        {
            list.add( itr.next() );
        } 
        ... 
       String newCursorValue = itr.getCursor().toWebSafeString();

它抛出 NPE 只是因为 itr.getCursor() 是空的。这种方法很长一段时间都很好用,但是今天我修改查询条件时失败了(但它是有效的)。但我不明白为什么查询条件会影响 getCursor() 方法。

有人请阐明一下吗?顺便说一句,我使用 GAE/J v1.7.1,Objectify 4a3。

4

1 回答 1

9

您应该阅读有关cursors 的限制。这基本上定义了何时可以“恢复”查询。

于 2012-09-20T06:25:54.873 回答