我正在尝试使用Java从我的数据存储区中删除一些不需要的数据 一些代码使用我修改的DatastoreService来删除尽可能多的代码 在10秒内尽可能输入:
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
Query query = new Query("PostalCodes");
long starttime = (new Date()).getTime();
for (Entity entity : datastore.prepare(query).asIterable()) {
datastore.delete(entity.getKey());
if ((new Date().getTime()) > (starttime + 10000))
break;
}
当我运行它时似乎有效。我查看了控制台的数据查看器 我试图删除的那种(“PostalCodes”)已经消失,但是那一天 在我这样做之后,整个事情已经恢复了。我错过了吗? 打电话给同花或提交什么?!?
有更好的方法吗?
答案 0 :(得分:1)
查看类似的问题:Delete all data for a kind in Google App Engine了解批量删除信息的其他方法。
答案 1 :(得分:1)
可以在“DataStore Admin”部分中删除特定类型的所有实体:
选择实体,然后选择“删除实体”:
答案 2 :(得分:0)
public final class PMF {
private static final PersistenceManagerFactory pmfInstance =
JDOHelper.getPersistenceManagerFactory("transactions-optional");
private PMF() {
PersistenceManagerFactory pmfInstance = PMF.get();
PersistenceManager pm = pmfInstance.getPersistenceManager();
pm.deletePersistentAll();/* by using this all the entities which are created earlier will be deleted*/
}
public static PersistenceManagerFactory get() {
return pmfInstance;
}
}