Спасибо ) Но либо Вы не поняли вопрос либо я не понял ответ.
Я и так открываю / закрываю сессию с помощью фабрики:

Код:
Session session = HibernateUtil.getSessionFactory().openSession();
.....
session.close();
Вопрос в том делать ли это при каждом запросе от клиента или сохранить один раз сессию в классе и использовать один экземпляр.
Возможно мне станет понятнее если кто то скажет мне ПРОСТЫМИ словами что есть SessionFactory и Session, а то если честно до конца не понимаю что это такое.