休眠:你需要手动关闭sessionFactory吗?

时间:2013-05-31 19:06:28

标签: java hibernate transactions

我有太多的线程被使用。在我的单元测试中,我的内存不足。如果我正在使用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();
  }  

2 个答案:

答案 0 :(得分:0)

不,它不会结束会话。一个会话可以跨越任意数量的事务。明确关闭会话。顺便说一句,这些事情都有明确记载

答案 1 :(得分:0)

在您的捕获中,验证交易是否为Active()top>