Also ich benutz immer Code, der etwa so aussieht:
Code:
Session session = HibernateSessionFactory.currentSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
session.save(transientObject); //oder halt update()/persist() etc.
tx.commit();
if (log.isDebugEnabled()) {
log.debug("Objekt gespeichert.");
}
} catch (HibernateException e) {
if (log.isErrorEnabled()) {
log.error("Fehler beim Modifizieren des Objekts.", e);
}
if (tx != null)
tx.rollback();
return false;
} finally {
HibernateSessionFactory.closeSession();
}
Also im Wesentlichen der gleiche Code wie du. Das hat auch mit ner Oracle-Datenbank funktioniert.