Probando la configuraci贸n con una transacci贸n

Conjunto de operaciones contra la base de datos que se realizan de forma at贸mica (o todas o ninguna).

驴Cuando nos interesa crear una transacci贸n? Cuando modificamos la base de datos (y por tanto deseamos poder hacer rollback()). Para una consulta no es necesario. Crear una transacci贸n consume recursos.

  • Un objeto Session Hibernate representa una 煤nica unidad-de-trabajo y es abierta por un ejemplar de SessionFactorySe deben cerrar las sesiones cuando se haya completado todo el trabajo de una transaci贸n.
  • En caso de fallo, lo que hay dentro del beginTransaction y el commit no se ejecuta y se salta a un catch.
  • Siempre es m谩s r谩pido hacer dos operaciones en una sola transacci贸n que dos operaciones en dos transacciones.
Session session = HibernateUtil.getSessionFactory().openSession();
Transaction transaction = session.beginTransaction();
Alumno al = new Alumno();
al.setNombre("Juan");
al.setEdad(10);
		
session.save(al);
transaction.commit();
session.close();

setTimeout()

sesion.beginTransaction().setTimeout(400);
  • Si pasados 400 milisegundos la base de datos no devuelve nada, se arrojar谩 una UnCaught Eception (una excepci贸n para la que no es estrictamente neceario tener un try catch; al contrario que las Caught Exception).
  • Este timeout se puede gestionar a nivel de aplicaci贸n o a nivel de base de datos.
Volver a: Hibernate

Aviso Legal | Pol铆tica de privacidad