Mysql
 sql >> Database >  >> RDS >> Mysql

Recupero di org.hibernate.TransactionException:errore delle transazioni nidificate non supportate durante l'eliminazione

Probabilmente hai iniziato una transazione e stai cercando di iniziarne un'altra senza aver eseguito il commit o il rollback della precedente. L'idioma quando si utilizza la demarcazione delle transazioni programmatica è il seguente:

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

    // do some work

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

Questo è ingombrante e soggetto a errori, e questo è uno dei motivi per cui l'uso di EJB o Spring per avere transazioni dichiarative è così utile.