• 软件测试技术
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘

字号: | 推荐给好友 上一篇 | 下一篇

数据库相关--Hibernate的事务和并发

发布: 2008-6-03 09:45 | 作者: 不详 | 来源: 不详 | 查看: 75次 | 进入软件测试论坛讨论

领测软件测试网 软件测试技术网j\+j:{BX

`Wy dZ0B6U
I?)?3B\(@请注意,当你配置Hibernate事务工厂的时候,在一个BMT session bean中,你应该选择 org.hibernate.transaction.JTATransactionFactory,在一个 CMT session bean中选择org.hibernate.transaction.CMTTransactionFactory。 记住,同时也要设置org.hibernate.transaction.manager_lookup_class。
C;H-e~x-M)I/v$FE如果你使用CMT环境,并且让容器自动同步和关闭session,你可能也希望在你代码的不同部分使用 同一个session。一般来说,在一个非托管环境中,你可以使用一个ThreadLocal 变量来持有这个session,但是单个EJB方法调用可能会在不同的线程中执行(举例来说,一个session bean调用另一个session bean)。如果你不想在应用代码中被传递Session对 象实例的问题困扰的话,那么SessionFactory 提供的 getCurrentSession()方法就很适合你,该方法返回一个绑定到JTA事务 上下文环境中的session实例。这也是把Hibernate集成到一个应用程序中的最简单的方法!这个“当 前的”session总是可以自动同步和自动关闭(不考虑上述的属性设置)。我们的session/transaction 管理代码减少到如下所示: 软件测试技术网8iz @4X?.V

软件测试技术网+l-i/kLm%H%E&[$k2dZ"f

软件测试技术网%Bu.h;yW