Hibernate version:
3.2
Im wiki sowie in der Caveat Emptor Anwendung wird der Hibernate Zugriff letztlich mit einer try catch Anweisung umschlossen (siehe unten). Eine Anwendung funktioniert auch, wenn man das try-catch-rollback weglässt.
Was genau sind die Auswirkungen, wenn in diesem Fall Ausnahmen passieren? Bei einer Oracle Datenbank könnte ich mir vorstellen, dass der StateObjects Bereich vollläuft, wenn die Transaktionen nicht beendet werden. Ich habe versucht irgendwelche Folgen mit einer PostgreSQL Datenbank festzustellen. Das war leider nicht erfolgreich, sprich es gab keinen besonderen Speicherverbrauch, keine Folgefehler.
Hat jemand damit Erfahrung?
Code:
try {
tx = session.beginTransaction();
// Do some work
session.load(...);
session.persist(...);
tx.commit(); // Flush happens automatically
}
catch (RuntimeException e) {
tx.rollback();
throw e; // or display error message
}