¿Hay alguna forma de saber si una transacción está en estado "en curso" en JDBC? No encontré nada en el Connection API.Estado de transacción en JDBC
Gracias
¿Hay alguna forma de saber si una transacción está en estado "en curso" en JDBC? No encontré nada en el Connection API.Estado de transacción en JDBC
Gracias
JDBC no realiza un seguimiento del estado de la transacción. Es el trabajo de DB seguir el estado de la transacción.
Dado que, todavía tiene dos formas de rastrear/conocer los estados de la transacción.
Puede hacer una llamada sql a su base de datos para solicitar detalles específicos de la transacción. para Oracle, estará en la tabla v $ transaction sugerida en this post.
SELECT COUNT(*)
FROM v$transaction t, v$session s, v$mystat
WHERE t.ses_addr = s.saddr AND s.sid = m.sid AND ROWNUM = 1;
Otra solución es utilizar código de gestor de transacciones en algunos marcos comunes, tales como la hibernación (creo primavera también lo tiene).
public interface Session {
public abstract org.hibernate.Transaction getTransaction();
}
public Transaction {
public abstract boolean wasRolledBack() throws org.hibernate.HibernateException;
public abstract boolean wasCommitted() throws org.hibernate.HibernateException;
public abstract boolean isActive() throws org.hibernate.HibernateException;
}
Gracias por la sugerencia de Oracle, me ayudará. – cadrian
¿cómo definirías "estado continuo"? – skaffman
Quise decir algo como "sucio": actualizar, insertar y eliminar filas. – cadrian