1. 程式人生 > >【Hibernate】專案中session的管理方式

【Hibernate】專案中session的管理方式

Session的建立方式:

@Test
public void testSession() throws Exception {
//openSession:  建立Session, 每次都會建立一個新的session
Session session1 = sf.openSession();
Session session2 = sf.openSession();
System.out.println(session1 == session2);
session1.close();
session2.close();
//getCurrentSession 建立或者獲取session
// 執行緒的方式建立session  
// 一定要配置:<property name="hibernate.current_session_context_class">thread</property>
Session session3 = sf.getCurrentSession();// 建立session,繫結到執行緒
Session session4 = sf.getCurrentSession();// 從當前訪問執行緒獲取session
System.out.println(session3 == session4);
// 關閉 【以執行緒方式建立的session,可以不用關閉; 執行緒結束session自動關閉】
//session3.close();
//session4.close(); 報錯,因為同一個session已經關閉了!
}