【发布时间】:2014-08-06 13:15:49
【问题描述】:
我使用 java servlet。我写了一个没有错误的代码,但它总是返回一个空列表。 我想从 servlet 更新 Datastore。我只想阅读实体。我会附上我的代码,告诉我问题出在哪里。
我总是得到数据存储是空的。这只是一个测试代码。即使这个剂量似乎也有效。在网上搜索了一周。一切都是徒劳的。
public class TestServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
resp.setContentType("text/plain");
resp.getWriter().println("Hello, world");
DatastoreService datastoreService = DatastoreServiceFactory.getDatastoreService();
resp.getWriter().println(datastoreService.getIndexes());
if (datastoreService.getIndexes().isEmpty())
resp.getWriter().println("the data store is empty");
Query query = new Query("IMAGES");
PreparedQuery pq = datastoreService.prepare(query);
for (Entity entity :pq.asIterable())
{
resp.getWriter().println(entity.getKind() );
resp.getWriter().println(entity.getAppId() );
resp.getWriter().println(entity.getKey() );
}
if (!pq.asIterable().iterator().hasNext())
resp.getWriter().println("the data store is empty");
}
【问题讨论】:
-
这是部署的还是在 devserver 中运行?另外,如果你进入你的谷歌管理工具,你能在你的数据存储查看器中看到实体吗?
-
是的,它已部署。我将其用于学习目的。我确实使用开发人员控制台在我的数据存储中添加了实体。当查询评估时,它总是返回空。
标签: java google-app-engine servlets google-cloud-datastore