Hibernate中把Session和线程绑定的配置
生活随笔
收集整理的這篇文章主要介紹了
Hibernate中把Session和线程绑定的配置
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
我們一開始用session都用HibernateUtil工具類獲得Session對象,因為該工具類可以保證將線程不安全的Session綁定到當前線程內(nèi),但每次返回的對象都是一個新的session,我寫了一個測試方法如下:
@Testpublic void test() {Session s1 = HibernateUtils.openSession();Session s2 = HibernateUtils.openSession();if(s1 == s2) {System.out.println("true");}else {System.out.println("false");}}輸入結(jié)果如下:
在Hibernate3開始,Hibernate增加了SessionFactory.getCurrentSession();方法,該方法可以直接獲取當前線程的Session對象,而且每次返回的都是同一個對象,下面是配置步驟,首先,我們在hibernate.cfg.xml寫入如下代碼:
這個時候就配置好了,下面我們寫一個測試方法來測試一下吧:
@Testpublic void test() {Session s1 = HibernateUtils.getCurrentSession();Session s2 = HibernateUtils.getCurrentSession();if(s1==s2) {System.out.println("true");}}下面這個代碼就是獲取當前線程的session,我將它封裝到HibernateUtils類里面了
Session s1 = HibernateUtils.getCurrentSession()具體代碼如下:
public static Session getCurrentSession() {//只有配置了把session和線程綁定之后,才能使用此方法,否則返回值為nullreturn factory.getCurrentSession();}這個時候我們在運行一下:
發(fā)現(xiàn)輸出結(jié)果為true,說明返回的是同一個對象
注:Hibernate的Session會隨著getCurrentSession()方法自動打開,并伴隨事物的·提交自動關閉,非常方便
總結(jié)
以上是生活随笔為你收集整理的Hibernate中把Session和线程绑定的配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 颐和园学生票必须提供学生证吗
- 下一篇: Hibernate中hql的基本查询、条