Eug*_*neP 22 java orm tomcat hibernate jta
他们建议在Java EE环境中使用JTA事务支持.
但是如何在Tomcat6中配置JTA以便Hibernate Session可以使用它呢?
从版本3.0.1开始,Hibernate添加了该
SessionFactory.getCurrentSession()方法.最初,这假定使用JTA事务,其中JTA事务定义了当前会话的范围和上下文.鉴于众多独立JTA TransactionManager实现的成熟度,大多数(如果不是全部)应用程序应该使用JTA事务管理,无论它们是否部署到J2EE容器中.基于此,您需要使用基于JTA的上下文会话.
如果您只是想使用SessionFactory.getCurrentSession(),可以在hibernate.cfg.xml中添加以下两行:
<property name="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
<property name="hibernate.current_session_context_class">thread</property>
Run Code Online (Sandbox Code Playgroud)
这将为每个线程提供一个唯一的会话.由于servlet请求总是在一个线程内处理(假设您的代码不会生成新的代码),Session将为整个请求生效.
请勿忘记在请求后使用过滤器关闭会话!
| 归档时间: |
|
| 查看次数: |
29470 次 |
| 最近记录: |