Eclipse を使用して、ローカル マシンで GAE データストアを操作しています。2 つのサーブレットを作成しました -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 サーブレットはすべてのムービーを削除するわけではありません。連続して呼び出すと{"numMoviesFound":"15"}、 、 then {"numMoviesFound":"9"}、{"numMoviesFound":"3"}および finallyが返され{"numMoviesFound":"3"}ます。
一度にすべての映画がデータストアから削除されないのはなぜですか?
更新:この問題は、GAE サーバーではなく、ローカルの Eclipse でのみ発生するようです。