Сложно помочь вам без дополнительной информации, но я могу догадаться.Когда вы открываете или закрываете сессии, используя спящий режим, вы, вероятно, не открываете настоящие оракулы.Hibernate может использовать пул или элемент управления, когда открыт или не настоящий сеанс.Итак, ваша проблема не в том, чтобы закрывать сеанс Java после каждого оператора, а в том, чтобы правильно закрыть и завершить пул hibernate или что-то еще до того, как убить ваше приложение.
Пожалуйста, опубликуйте больше информации, чтобы мне не приходилось догадываться:)