Ich fand folgende Informationen aus der Spezifikation. Aber es ist mir nicht klar genug, wer kein Engländer ist.Ist @PostRemove aus der Transaktion entfernt?
Die
PostPersist
undPostRemove
Methoden Rückruf sind für eine Entität aufgerufen, nachdem die Entität persistent gemacht oder entfernt worden ist. Diese Rückrufe werden auch für alle Entitäten aufgerufen, für die diese Operationen kaskadiert sind. Die MethodenPostPersist
und werden nach dem Datenbankeinfüge- bzw. -löschvorgang aufgerufen. Diese Datenbankoperationen können direkt nach dem Aufrufen der Persistenz-, Zusammenführungs- oder Entfernungsoperationen oder direkt nach dem Auftreten einer Räumoperation (die am Ende der Transaktion sein kann) auftreten. Erstellte Primärschlüsselwerte sind in derPostPersist
-Methode verfügbar.
Meine Frage ist jede Transaktion bezogene Aufträge können nach @PostRemove
zurückgesetzt werden?
Lassen Sie uns sagen, dass meine Einheit löscht einige Offline-Dateien auf @PostRemove
class MyEntity {
@PostRemove
private void onPostRemove() {
// delete offline files related to this entity
// not restorable!
}
}
Ist es möglich, dass diese Offline-Dateien aus dem Speicher gelöscht und das Unternehmen noch in der Datenbank nach links? (von Rollback?)
Scheint im Zusammenhang mit: http://stackoverflow.com/questions/4895854/jpa-postpersist-postupdate-transaction?rq=1 – MWiesner