【发布时间】:2016-01-03 23:36:28
【问题描述】:
在 Stackoverflow 上给我解惑:
我有一个查询要发送给 GAE。查询(字符串格式时)如下所示: SELECT * FROM USER WHERE USER_ID = 5884677008
如果我转到 GAE 控制台并通过手动 GQL 查询输入它,它会很好地返回项目。如果我通过 GUI 浏览并滚动到它,我可以看到它就好了。但是当我从 Java 代码中调用它时,它每次都没有返回任何内容。 代码:
我已经确认查询是正确的,因为我将它打印为字符串,以便我可以测试它。
有人知道这是怎么回事吗?
q = new Query(entityName); //entityName = "User", confirmed
q.setFilter(filter); //filter = "USER_ID = 5884677008", confirmed
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
PreparedQuery pq = datastore.prepare(q);
/*
This always is empty here. Calling either pq.countEntities()); or
pq.toString()); returns size 0 or a String of nothing.
*/
谢谢! -Sil
编辑:我确实建立了一个索引,但它似乎对解决问题没有帮助。
【问题讨论】:
-
countEntities()是 deprecated。asSingleEntity()带给你什么? -
它确实已被弃用,它仍然有效,但可能应该提到(就像你所做的那样)它已被弃用,以防它在未来被完全删除。
标签: java google-app-engine google-cloud-datastore gql