謎語我這個問題我有一個查詢,我發送到GAE。查詢(當以字符串格式)如下所示: SELECT * FROM USER WHERE USER_ID = 5884677008谷歌應用程序引擎查詢不工作在Java
如果我轉到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()'[已棄用](https://cloud.google.com/appengine/docs/java/javadoc/com/google/appengine/api/datastore/PreparedQuery)。 'asSingleEntity()'給你什麼? – tx802
它確實被棄用,它仍然有效,但可能應該提及(如你所做的那樣),以防它在未來完全被刪除的情況下被棄用。 – Silmarilos