Java 谷歌应用引擎:JPA仍有1000条记录限制?

Java 谷歌应用引擎:JPA仍有1000条记录限制?,java,google-app-engine,jpa,Java,Google App Engine,Jpa,新版本已降低了1000条记录的限制: 不超过1000个结果限制-这就是 右图:添加了游标和 许多较小的事件的高潮 数据存储稳定性和性能 在过去的几个月里, 我们现在有足够的信心移除 最大结果限制 但是,指向一个没有提到JPA的链接,只有JDO和低级API: 在JDO中,可以使用扩展和 要使用的JDOCursorHelper类 带有JDO查询的游标 没有提到JPA,如果n大于1000,我使用query.setFirstResult(n)进行的测试仍然显示相同的错误消息 java.lang.Ille

新版本已降低了1000条记录的限制:

不超过1000个结果限制-这就是 右图:添加了游标和 许多较小的事件的高潮 数据存储稳定性和性能 在过去的几个月里, 我们现在有足够的信心移除 最大结果限制

但是,指向一个没有提到JPA的链接,只有JDO和低级API:

在JDO中,可以使用扩展和 要使用的JDOCursorHelper类 带有JDO查询的游标

没有提到JPA,如果n大于1000,我使用
query.setFirstResult(n)
进行的测试仍然显示相同的错误消息

java.lang.IllegalArgumentException: offset may not be above
1000
        at
com.google.appengine.api.datastore.DatastoreApiHelper.translateError(DatastoreApiHelper.java: 33)
        at
com.google.appengine.api.datastore.DatastoreApiHelper.makeSyncCall(DatastoreApiHelper.java:
60)
        at
com.google.appengine.api.datastore.PreparedQueryImpl.runQuery(PreparedQueryImpl.java:
115) ...
选择计数(*)

我还发现MyEntity中有1000多个实例的
select count(*)返回1000个。

JDO“扩展名”中的“详细描述”等同于查询中的JPA“提示”,那么为什么不为JPA查询设置相同的提示呢

Cursor Cursor=Cursor.fromWebSafeString(cursorString);
setHint(JDOCursorHelper.CURSOR_扩展名,CURSOR)

第1.3.6版取消了以下限制:

版本1.3.6-2010年8月17日

datastore count()查询的结果 和所有数据存储查询的偏移量 不再限制在1000


我使用JPA访问谷歌数据存储,一次可以获取3000多条记录。我不认为这个限制仍然存在。

我会试试这个。因此,要解决计数(*)问题(请参阅我的更新),这意味着我必须迭代游标,或者使用低级API?