代码之家  ›  专栏  ›  技术社区  ›  mjn anonym

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

  •  1
  • mjn anonym  · 技术社区  · 14 年前

    新的 release 1.3.1 of GAE 已降低1000条记录的限制:

    不超过1000个结果限制 -那是 右:添加光标和 许多较小的顶点 数据存储稳定性和性能 过去几个月的改善, 我们现在有足够的信心 最大结果限制。

    然而, release notes 链接到 detail description 没有提到JPA,只有JDO和低级API:

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

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

    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) ...
    

    选择计数(*) :

    我还发现 select count(*) from MyEntity 它有1000多个实例,返回1000。

    3 回复  |  直到 9 年前
        1
  •  2
  •   mjn anonym    14 年前

    1.3.6版删除了以下限制:

    版本1.3.6-2010年8月17日

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

    http://code.google.com/p/googleappengine/wiki/SdkReleaseNotes

        2
  •  0
  •   DataNucleus    14 年前

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

    cursor cursor=cursor.fromWebSafeString(cursorString); query.sethint(jdocursorhelper.cursor_extension,cursor);

        3
  •  0
  •   Aniruddha Das xing    9 年前

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