码迷,mamicode.com
首页 > Web开发 > 详细

hibernate_SessionFactory_getCurrentSession_JTA简介

时间:2015-10-03 23:03:33      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:

在另一篇播客我写到了,SessionFactory需要关注两个方法,

即:  openSession    和 getCurrentSession

     i.   openSession 每次都是新的,需要close

     ii.  getCurrentSession 从上下文找,如果有,用旧的,如果没有,建新的

         1,用途,界定事务边界

         2,事务提交自动close

         3,跟current_session_context_class (JTA、thread) 有关系 

            a)thread 使用 connection

下面就说说什么是上下文

什么是上下文,是在配置文件hibernate.cfg.xml里指定的:

current_session_context_class:当前的session运行的环境的上下文。

<!-- Enable Hibernate‘s automatic session context management -->
        <property name="current_session_context_class">thread</property>

查hibernate的文档:

技术分享

 取值有四种:

    1,jta  *

    2,thread  ***最常用

        从当前线程里找,看有没有一个对象是 session,如果有,就用已经存在的,如果没有,就创建新的。

    3,managed  极少用,可以忘了。

      在J2ee里,EJB 的 Application Server  应用服务器,用来手工管理事务用managed,用的极少,可以忘了。

    4,customer.class   没必要,可以忘了

      自定义的class来管理currentSession。

 

hibernate_SessionFactory_getCurrentSession_JTA简介

标签:

原文地址:http://www.cnblogs.com/lihaoyang/p/4853897.html

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