他们建议在Java EE环境中使用JTA事务支持。
但是如何在Tomcat6中配置JTA,以便Hibernate Session可以使用它?
从版本3.0.1开始,Hibernate添加了该SessionFactory.getCurrentSession()方法。最初,此操作假定使用JTA事务,其中JTA事务定义了当前会话的范围和上下文。考虑到众多独立JTA TransactionManager实现的成熟性,大多数(即使不是全部)应用程序都应使用JTA事务管理,无论它们是否已部署到J2EE容器中。基于此,您只需使用基于JTA的上下文会话。
SessionFactory.getCurrentSession()
(Hibernate参考文档|体系结构。上下文会话)
如果要在Tomcat中支持JTA,则需要使用独立的事务管理器,例如Atomikos,JOTM,Bitronix,SimpleJTA,JBossTS或GeronimoTM / Jencks。但老实说,如果您不打算处理跨多个资源的事务,那么您可以不使用JTA(如果您确实需要JTA,请使用功能完备的应用程序服务器)。