2016-12-25 140 views
0

有沒有一種方法可以使我的連接到數據庫Hibernateper-session而不是per-request?因爲我已經在我的網頁中發現的每個請求應用程序Hibernate配置被重新創建,並可能影響性能。休眠:更改休眠連接

回答

1

你應該保持相同的SessionFactory無需重新創建一個。所以,你需要使它靜態的。

例子:

public class HibernateUtils{ 
    private static SessionFactory session; 

    private static void createSession(){ 
     sessionFactory = new Configuration().configure().buildSessionFactory(); 
    } 
    public static Session getSession(){ 
     if(session == null) 
      createSession() 
     return session.openSession(); 
    } 
} 

當你將稱之爲「HibernateUtils.getSession()」,將創建會話僅當不存在

當然,你需要關閉會話需要的時候

+0

謝謝你,這是非常有幫助 –