質問

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")はなくなりましたが、 これを行った後、すべてが復元されました。私は行方不明です フラッシュするか、コミットするか、何かを呼び出しますか?!?

これを行うより良い方法はありますか?

役に立ちましたか?

他のヒント

「DataStore Admin」セクション内で特定のタイプのすべてのエンティティを削除することが可能です:

エンティティを選択し、「エンティティの削除」を選択します:

ここに画像の説明を入力

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;
    }
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top