使用Google App Engine数据存储添加实体时的java不一致行为
我正在做一个用Java编写的谷歌应用引擎项目
每当我向数据存储中添加实体时,我都会使用一个事务:
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
Transaction transaction = datastore.beginTransaction();
datastore.put(entity);
transaction.commit();
然后我计算数据存储中的实体数:
Query query = new Query(kind);
query.setFilter(filter);
PreparedQuery preparedQuery = datastore.prepare(query);
int count = preparedQuery.countEntities(FetchOptions.Builder.withDefaults());
System.out.println("count = " + count);
我注意到有时候数据存储可能不一致。就像有时我会添加一个实体,但计数不会出现。如果我再加上另一个实体,计数就会增加2
为什么会这样?我怎样才能阻止它发生
共 (0) 个答案