我正在使用 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 服务器上。