Gerenciamento de Sessão com Java Hibernate

Tenho uma plataforma baseada no Hibernate, construída a partir de servlets sem estado (uma é usada para registrar um usuário e o restante para consultar o banco de dados

Estou usando as sessões do Hibernate da seguinte maneira:

Session session = HibernateUtil.getSessionFactory().getCurrentSession();
if ((null == session) || (session.isOpen() == false)) {
  session = HibernateUtil.getSessionFactory().openSession();
}

Atualmente, não fecho a sessão no final do servlet para evitaropenSession()hamada (tentando usar sessões abertas, se possível

Qual é a melhor prática? quando devo encerrar essas sessões?

Pode dar um exemplo?

Desde já, obrigado

questionAnswers(8)

yourAnswerToTheQuestion