小编Pol*_*oly的帖子

IllegalArgumentException:拆分提供的查询需要在内存中合并太多子查询

我查找了一堆模型 ID:

List<Long> ids = lookupIds(searchCriteria);
Run Code Online (Sandbox Code Playgroud)

然后我运行一个查询来订购它们:

fooModelList = (List<FooModel>) query.execute(ids);
Run Code Online (Sandbox Code Playgroud)

日志显示这是编译为的 GQL:

Compiling "SELECT FROM com.foo.FooModel WHERE 
:p.contains(id) ORDER BY createdDateTime desc RANGE 0,10"
Run Code Online (Sandbox Code Playgroud)

idsArrayList 很小时,这可以正常工作。

但超过一定大小(也许是 40?)我收到此错误:

IllegalArgumentException: Splitting the provided query requires 
that too many subqueries are merged in memory.
Run Code Online (Sandbox Code Playgroud)

有没有办法解决这个问题,或者这是 GAE 中的固定限制?

java google-app-engine

3
推荐指数
1
解决办法
1190
查看次数

标签 统计

google-app-engine ×1

java ×1