2011-11-21 60 views
-1

我使用休眠+ JSP + Postgres数据库Hibernate会话同治

void TestMethod(){ 
HibernateSessionManager hs=new HibernateSessionManager(); 
Session ses=hs.preHandle();   
// Here is my code that uses session 
    ------ 
    ------ 
hs.afterCompletion(ses); 
} 

这里是preHandle和代码afterCompletion

public Session preHandle() { 

      SessionFactory sessionfactory =HibernateUtil.getSessionFactory(); 
     Session sess = sessionfactory.openSession(); 
    return sess; 
} 

public void afterCompletion(Session sess){ 

     if(sess!=null){ 
       sess.flush(); 
     sess.close(); 
     sess=null; 
     } 
} 

这是罚款,我使用了开放的preHandle()afterCompletion()方法和闭幕会议。它会导致我的代码中的任何问题?

还有, HibernateSessionManager将创建会话数量是否有限制,因此拒绝创建新的Session对象?

回答

0

请务必阅读reference第12章

您需要处理的事务。有像spring这样的框架帮助了很多。如果你有一个简单的web应用程序,并且你不想使用spring,你可以在一个独立的servlet过滤器中处理你的hibernate会话和事务。