sql >> Base de Datos >  >> RDS >> Mysql

Obtener org.hibernate.TransactionException:error de transacciones anidadas no admitidas al eliminar

Probablemente haya iniciado una transacción e intente iniciar otra sin haber confirmado o revertido la anterior. El idioma cuando se utiliza la demarcación de transacciones programáticas es el siguiente:

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

    // do some work

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

Esto es engorroso y propenso a errores, y esta es una de las razones por las que es tan útil usar EJB o Spring para tener transacciones declarativas.