码迷,mamicode.com
首页 > 系统相关 > 详细

Hibernate两种获得sessionFactory方式的区别

时间:2014-08-07 07:22:40      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:hibernate、sessionfactory.opensession()、sessionfactory.getcurrentsession()

     Hibernate 可以通过sessionFactory.openSession()和sessionFactory.getCurrentSession()来获得session,下面来浅说一下两者区别。


【sessionFactory.openSession()】
     通过session工厂sessionFactory.openSession()方法来获得一个session,每次都创建一个新的session出来,并且每次Hibernate都会打开数据库和应用程序的连接。


【sessionFactory.getCurrentSession()】
    通过session工厂的sessionFactory.getCurrentSession()方法获得session,并且与当前线程ThreadLocal绑定,但要在Hibernate中配置属性参数 current_session_context_class ,并且value设置为thread。否则一般会报没有配置当前线程的错误。通过此方式获得session有4个要点:

   1)如果当前线程中没有session,通过openSession方法来获得一个新的session,并把新的session放到当前线程中;

   2)从当前线程中的到session;

   3)通过getCurrentSession()方法执行CRUD必需要开启事务;

   4)一般不用手动关闭session;

Hibernate两种获得sessionFactory方式的区别,布布扣,bubuko.com

Hibernate两种获得sessionFactory方式的区别

标签:hibernate、sessionfactory.opensession()、sessionfactory.getcurrentsession()

原文地址:http://745761505.blog.51cto.com/9241055/1536610

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!