Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Abrufen von org.hibernate.TransactionException:Verschachtelte Transaktionen werden beim Löschen nicht unterstützt

Sie haben wahrscheinlich eine Transaktion begonnen und versuchen, eine weitere zu beginnen, ohne die vorherige festgeschrieben oder rückgängig gemacht zu haben. Die Redewendung bei der Verwendung der programmatischen Transaktionsabgrenzung ist die folgende:

try {
    sess.getTransaction().begin();

    // do some work

    sess.getTransaction().commit()
}
catch (RuntimeException e) {
    sess.getTransaction().rollback();
    throw e;
}

Dies ist umständlich und fehleranfällig, und dies ist einer der Gründe, warum die Verwendung von EJBs oder Spring für deklarative Transaktionen so nützlich ist.