Hallo ihr!
ich habs: Das mit dem Tip "wird nicht commitet" habe ich mir zu Herzen genommen. Ich habe mich gefragt, warum das sein könnte, da die betreffende Zeile durchlaufen wird. Hier die Antwort:
Delphi-Quellcode:
public void persist(Rqs transientInstance) {
log.debug("persisting Rqs instance");
Session s = getCurrentSession();
/**
* ToDo
*/
log.setLevel(Level.DEBUG);
Transaction tx = null;
try {
tx = s.beginTransaction();
s.save(transientInstance);//persist(transientInstance);
tx.commit();
log.debug("persist successful");
} catch (HibernateException he) {
log.error("persist failed", he);
if(tx != null)
tx.rollback();
throw he;
}
finally{
s.close();
}
}
Vergleicht man hier mal den Aufruf zum Erhalt einer Session, erkennt man, dass hier mit Sicherheit nun auf dem selben Objekt gearbeitet wird. Vorher habe ich mir jedes Mal eine neue Session geben lassen!?!?!? Asche über mein Haupt!
Danke für eure Hilfe! Wieder einmal ist es dieses Forum, das den entscheidenden Hinweis liefert. Toll!
Vielen Dank an Der_"Unwissende" und vielen Dank auch an "Chewie". Bis bald!