У меня слишком много используемых потоков. У меня заканчивается нехватка памяти в моих модульных тестах. Мне нужно закрыть сеанс, если я использую sessionFactory. Не будет ли фиксация ниже завершения сеанса?Hibernate: вам нужно вручную закрыть sessionFactory?
Session session = sessionFactory.getCurrentSession();
Transaction transaction = null;
try
{
transaction = session.beginTransaction();
transaction.commit();
}
catch (Exception e)
{
if (transaction != null)
{
transaction.rollback();
throw e;
}
}
finally
{
//Is this close necessary?
session.close();
}
Собственно, это зависит от CurrentSessionContext. JTASessionContext закрывает сеанс, когда транзакция выполняется/откат, а также ThreadLocalSessionContext. Пример в документации НЕ закрывает сеанс. См. Http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html_single/#transactions-demarcation-nonmanaged –
Да, Марко, возьмите это. Именно поэтому я задал этот вопрос. – stackoverflow