Währungsproblem (veraltete Daten) in JPA
Sagen wir, ich habe Methoden mit folgender Signatur
Object getData(int id) {
//create a entity manager
//get data frm db
//return data
}
updateData() {
Object obj = getData(id)
//get entity manager
//start transcation tx
//update
//commit tx
}
Now wird es Parallelitätsproblem verursachen? Können Daten im schlimmsten Fall veraltet sein? Z.B. wenn ichgetData
und zum Zeitpunkt der Aktualisierung, wenn jemand die Daten aktualisiert, wird meinupdateData
werden veraltete Daten haben? Kann ich jetzt Folgendes verwenden: Löse ich das Problem?
Object getData(int id,Entitymanager em) {
//get data frm db using em
//return data
}
updateData() {
Object obj = getData(id)
//get entity manager em
//start transcation tx
//getdata using getData(id,em)
//commit tx
}