Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Obtendo org.hibernate.TransactionException:erro de transações aninhadas não suportadas ao excluir


Você provavelmente iniciou uma transação e está tentando iniciar outra sem ter confirmado ou revertido a anterior. O idioma ao usar a demarcação de transação programática é o seguinte:
try {
    sess.getTransaction().begin();

    // do some work

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

Isso é complicado e propenso a erros, e essa é uma das razões pelas quais usar EJBs ou Spring para ter transações declarativas é tão útil.