Frage

Ich versuche, einige unerwünschte Daten von meinem Datenspeicher mit Java zu löschen und gefunden einige Code, um die Datastor mit, dass ich so viele löschen geändert in 10 Sekunden Einträge wie möglich:

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;
}

Es scheint zu funktionieren, wenn ich dies auszuführen. Ich überprüfe die Datenanzeige der Konsole und die Art, wie ich bin versucht zu löschen ( „PostalCodes“) ist verschwunden, aber den Tag nachdem ich dies tut, hat das Ganze wieder hergestellt worden. Bin ich fehlt ein rufen zu spülen oder zu begehen oder etwas?!?

Gibt es einen besseren Weg, dies zu tun?

War es hilfreich?

Lösung

Werfen Sie einen Blick auf eine ähnliche Frage: löschen alle Daten für eine Art in Google App Engine für andere Wege, um Masse löschen Informationen.

Andere Tipps

Es ist möglich, alle Entitys bestimmter Art im ‚Datastor Admin‘ Abschnitt zu löschen:

Objekte wählen und wählen Sie dann 'Löschen Entities':

eingeben Bild Beschreibung hier

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;
    }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top