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 でのみ発生するようです。