Hallo,
Ich habe ein Problem beim Speichern von einem Datensatz.
Folgendes Szenario:
1. Ich hole mir ein Object aus der Datenbank ab. Diese Objekt hat eine List/Bag von anderen Objekten (Als Beispiel mal Buch -> Kapitel)
Code:
class Buch
{
IList<Kapitel> {get; set;}
}
Sorry, ist C# aber ich glaube das versteht jeder :)
2. Nun lösche ich die Zeile eines Kapitels aus der Datenbank (simuliert praktisch einen 2. Benutzer der einen Datensatz aus der DB löscht)
3. Das Objekt für das entsprechende Kapitel existiert bei mir im Cache weiter
4. Ich ändere etwas an dem Kapitel
5. Ich rufe SaveOrUpdate() und Flush() auf
Daraufhin bekomme ich eine Exception ("Unexpected row count: ...")
Ich sehe das Problem. Und zwar versucht Hibernate, weil es ja denkt dass es die Tabelle in der Datenbank noch gäbe, eine UPDATE anweisung abzusetzen. Diese schlägt jedoch fehl.
Gibt es da irgendeine Möglichkeit das zu lösen?
Vielleicht kann mir ja hier jemand weiterhelfen!
Vielen Dank schon mal!!!
Gruß
Reflection