Hallo,
ich habe ein Problem in meiner Applikation, das ich nicht ganz verstehe (Hibernate 3.2).
Ich habe mehrer Dialoge von Objekten die voneinander abhängig sind. Allerdings habe ich diese Abhängigkeit nicht in der DB direkt abgebildet, also keine Foreig Key constraints oder so. Das wird alles in der App implementiert. Aus Sicht von Hibernate ist also jedes Objekt einzeln in der DB. Wenn ich jetzt z.B. Personen und Adressen speichere funktioniert alles. Jetzt habe ich auch noch ein Bankkonto implementiert und bekomme merkwürdigerweise immer die Fehlermeldung dass es kein Objekt gibt, wenn ich ein neues Objekt eingebe und das speichere und danach den Dialog refreshe. Das merkwürdige daran ist aber, dass das Objekt in der Datenbank gespeichert ist.
Der Ablauf ist also so: 1. Objekt eingeben. 2. Speichern. 3. Commit; 4. Refresh des Dialogs um den neuen Datensatz in die Liste zu bekommen.
Der Refresh funktioniert einfach über ein normales Select und wenn ich direkt den Refresh mache, dann bekomme ich die Fehlermeldung. In dem Dialog ist ein Button mit dem man den refresh im Prinzip auch manuell auslösen kann. Wenn ich diesen Button drücke dann funktioniert der Refresh allerdings. An der Session dürfte es allerdings nicht liegen (das war meine Vermutung), da der gleiche Code durchlaufen wird.
Die anderen Dialoge sind nach dem gleichen Prinzip aufgebaut da ich den Code einfach immer kopiert habe und nur die Felder angepasst habe. Deshalb habe ich keine Ahnung warum es gerade da nicht geht, während es bei den anderen Dialogen einwandfrei klappt.
|