Sobes.tech
Junior — Middle

¿Puede enumerar los argumentos principales utilizados al declarar la anotación @Transactional?

sobes.tech AI

Respuesta de la IA

La anotación @Transactional en Java (generalmente en Spring Framework) se utiliza para gestionar transacciones. Los principales argumentos que se pueden especificar al declarar esta anotación:

  • propagation — define el comportamiento de la transacción al llamar a un método, por ejemplo, REQUIRED, REQUIRES_NEW.
  • isolation — nivel de aislamiento de la transacción, por ejemplo, READ_COMMITTED, SERIALIZABLE.
  • timeout — tiempo en segundos después del cual la transacción será interrumpida si no se ha completado.
  • readOnly — bandera que indica que la transacción es solo para lectura (optimización).
  • rollbackFor — lista de excepciones que causarán un rollback de la transacción.
  • noRollbackFor — excepciones para las cuales no se realiza rollback.

Ejemplo de uso:

@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED, timeout = 30, readOnly = false)
public void updateData() {
    // lógica de negocio
}