¿Por qué necesito Transaction en Hibernate para operaciones de solo lectura?

¿Por qué necesito Transaction en Hibernate para operaciones de solo lectura?

¿La siguiente transacción pone un bloqueo en la base de datos?

Código de ejemplo para obtener de DB:

Transaction tx = HibernateUtil.getCurrentSession().beginTransaction(); // why begin transaction?
//readonly operation here

tx.commit() // why tx.commit? I don't want to write anything

Puedo usarsession.close() en lugar detx.commit()?

Respuestas a la pregunta(4)

Su respuesta a la pregunta