Al arrancar la aplicacion se crea un objeto de SessionFactory(fábrica de sesiones) de ámbito application que a través del método configure() lee las configuraciones de persistencia,pueden estar en archivos xml,hibernate.properties,@anotaciones o podemos configurar hibernate para que al arrancar lea el archivo import.sql.
El tiempo de arranque dependerá del numero de clases persistentes que haya en la aplicación.
Una vez arrancado,se crea un objeto de session que es el que inyectamos en nuestros componentes persistentes a través de la etiqueta @In del EntityManager.
Para que los datos que la session ha creado,eliminado,modificado quede bien reflejado y guardado en la base de datos se tiene que hacer dentro de una transacion hay que abrirla mediante el método session.beginTransaction(); y se cerrará con la sentencia tx.commit();.
Mientras no se cierre la transacción, ésta se considera "caliente" y el programador podra realizar cambios en ella sin preocuparse de la Base de Datos, ya que hibernate las modificará y actualizará automáticamente.