Por que preciso de Transação no Hibernate para operações somente leitura?

Por que preciso de Transação no Hibernate para operações somente leitura?

A transação a seguir coloca um bloqueio no banco de dados?

Exemplo de código para buscar a partir do banco de dados:

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

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

Eu posso usarsession.close() ao invés detx.commit()?

questionAnswers(4)

yourAnswerToTheQuestion