我正在使用Java 8在Google App Engine上构建一个爱好项目,但我的查询返回null,即使我的本地主机上的数据存储中存在实体。
从数据存储
key: aglub19hcHBfaWRyGAsSC0dyb2NlcnlMaXN0GICAgICAgMAJDA ID/Name: 5348024557502464 created: Tue Dec 04 22:06:11 CET 2018 owner: 185804764220139100000
我使用UserServiceFactory获得的“所有者”Id是正确的,检查了几次。
下面是我查询所需实体的方式
Query q = new Query("GroceryList") .setFilter(new FilterPredicate("owner", FilterOperator.EQUAL, currentUser.getUserId())); DatastoreService datastore = DatastoreServiceFactory.getDatastoreService(); PreparedQuery pq = datastore.prepare(q); Entity result = pq.asSingleEntity();
但实体为空,不提取任何内容。我曾经 https://github.com/GoogleCloudPlatform/java-docs-samples/blob/2e5996c68440134a79f1511c57529fa5cf987628/appengine-java8/datastore/src/test/java/com/example/appengine/QueriesTest.java#L787 作为参考。
我做错了什么?