StaleObjectStateException: Zeile wurde aktualisiert oder gelöscht von einem anderen Transaktion?

Ich Folgendes tun:

def currentUser = springSecurityService.currentUser
currentUser.name = "test"
currentUser.save(flush: true)

//some other code

currentUser.gender = "male"
currentUser.save(flush: true)        //Exception occurs

Dies ist die exception, die ich bekomme:

ERROR events.PatchedDefaultFlushEventListener  - Could not synchronize database state with session
org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect)

Wie kann ich verhindern, dass dieser Fehler? Was ist die beste Lösung für dass?

Fand ich verschiedene Ansätze:

  1. hier , die Sie verwenden können discard()
  2. hier , die Sie verwenden können merge()

Welche soll ich verwenden?

InformationsquelleAutor | 2013-09-03
Schreibe einen Kommentar