openSession和getCurrentSession的区别 thred jta

转载 2012年03月22日 21:19:07
1.在调用openSession()方法时,总是新建session,而getCurrentSession()方法,则是从上下文中找session,如果上下文中有session,那么就不需要新建,如果上下文中没有找到session,则新建session。

    2.getCurrentSession()可以用于界定事务边界,调用getCurrentSession()方法时,事务提交的时候,自动关闭session,而openSession()方法需要手动调用session.close()方法关闭session。

    3.getCurrenSession()查找session时的上下文,可以分为两种,一种为thread,一种为jta(需要在hibernate.cfg.xml文件中手动配置)。

        当上下文设置为thread时,getCurrentSession()查找session时到数据库的线程中去查找,直接使用数据库的Connection连接来管理事务。

        上下文设置为jta时,多半是项目的数据需要存储到不同的数据库,需要transaction manager来专门管理事务,这个transaction manager一般有application server来提供。这种事务,称为分布式事务。

    4.注意:openSession()方式和getCurrentSession()方式不能混用。

相关文章推荐

getCurrentSession()与openSession()的区别&&PROPAGATION_REQUIRED事务管理

转载:getCurrentSession()与openSession()的区别&&PROPAGATION_REQUIRED事务管理 采用编程式事务 1、 getCurrentSessi...

Hibernate openSession() 和 getCurrentSession的区别

Hibernate openSession() 和 getCurrentSession的区别   getHiberanteTemplate 、getCurrentSession和OpenSessi...

Hibernate中的openSession(),getSession() 和 getCurrentSession() 的区别

开发中,使用MyEclipse自动生成的Hibernate DAO类中在对session的获取中,都使用的getSession(MyEclipse8.5之前的版本都是如此)。 首先要说明一下这3个方...
  • jpbirdy
  • jpbirdy
  • 2012年02月27日 15:43
  • 1960

hibernate中 openSession和getCurrentSession的区别

hibernate中 openSession和getCurrentSession的区别
  • hoho_12
  • hoho_12
  • 2016年11月03日 16:41
  • 243

getCurrentSession 与 openSession() 的区别

http://blog.csdn.net/loveyout/article/details/4193894   1 getCurrentSession创建的session会和绑定到当前...
  • sony315
  • sony315
  • 2011年10月17日 06:10
  • 286

getCurrentSession and openSession() 的区别

1 getCurrentSession创建的session会和绑定到当前线程,而openSession不会。 2 getCurrentSession创建的线程会在事务回滚或事物提交后自动关闭,而op...

openSession与getCurrentSession的区别

openSession、getCurrentSession区别 博客分类:  hibernate Hibernate多线程Spring配置管理JDBC  1 getCurrentSessio...

getCurrentSession与openSession的区别

1. 如果使用的是getCurrentSession来创建session的话,在commit后,session就自动被关闭了,也就是不用再session.close()了。但是如果使用的是openSe...

hibernate: openSession() 和getCurrentSession()的区别

hibernate中, 有两个方法 openSession()和getCurrentSession(),值得讨论。 在进行配置信息管理时,我们一般进行一下简单步骤: Configuration cf...

openSession 与 getCurrentSession, openStatelessSession区别

1 getCurrentSession创建的session会和绑定到当前线程,而openSession不会。 2 getCurrentSession创建的线程会在事务回滚或事物提交后自动关闭,而...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:openSession和getCurrentSession的区别 thred jta
举报原因:
原因补充:

(最多只允许输入30个字)