【发布时间】:2013-04-19 22:59:22
【问题描述】:
我正在使用 Eclipse 在本地计算机上使用 GAE 数据存储。我创建了两个 servlet - AddMovie 和 DeleteMovie:
添加电影
Entity movie = new Entity("movie",System.currentTimeMillis());
movie.setProperty("name", "Hakeshset Beanan");
movie.setProperty("director", "Godard");
datastore.put(movie);
删除电影
Query q = new Query("movie");
PreparedQuery pq = datastore.prepare(q);
List<Entity> movies = Lists.newArrayList(pq.asIterable());
response.put("numMoviesFound", String.valueOf(movies.size()));
for (Entity movie : movies) {
Key key = movie.getKey();
datastore.delete(key);
}
有趣的是,DeleteMovie servlet 并没有删除所有的电影。连续调用返回{"numMoviesFound":"15"},然后是{"numMoviesFound":"9"},{"numMoviesFound":"3"},最后是{"numMoviesFound":"3"}。
为什么不是一次从数据存储中删除所有电影?
更新:问题似乎只发生在本地 Eclipse 上,而不是 GAE 服务器上。
【问题讨论】:
标签: java google-app-engine nosql google-cloud-datastore