Я думаю, что лучшим подходом будет получение сессий через openSession()
и освобождение их через disconnect()
. Это приведет к тому, что соединение с базой данных будет возвращено в пул соединений Hibernate, и, таким образом, если вы не выполняете все транзакции одновременно, ваши сеансы будут создаваться из существующих соединений (где это возможно), и общая производительность будет ухудшаться.