有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用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) 个答案