【发布时间】:2011-02-02 21:52:51
【问题描述】:
引自 hib 官方文档:
从 3.0.1 版本开始,Hibernate 添加了 SessionFactory.getCurrentSession() 方法。最初,这假定使用 JTA 事务,其中 JTA 事务定义了当前会话的范围和上下文。鉴于众多独立 JTA TransactionManager 实现的成熟度,大多数(如果不是全部)应用程序都应该使用 JTA 事务管理,无论它们是否部署到 J2EE 容器中。基于此,您只需要使用基于 JTA 的上下文会话。 引用结束
我使用tomcat6作为servlet容器,项目需要集成Hibernate 3.2。
我找到了一篇关于如何通过 JNDI 配置 SessionFactory 查找的文档,尽管它没有按预期工作。
引用: Hibernate 可以在任何使用 JTA 的环境中工作,事实上,我们建议尽可能使用 JTA,因为它是标准的 Java 事务接口。 引用结束。
在休眠配置中,我表示 current_session_context_class= jta
现在我收到一个错误“未指定 TransactionManagerLookup”。
问题是 Tomcat 不支持 JTA,要让它工作, 如果我理解正确, 您需要将 JOTM 或其他库添加到 Tomcat。
但根据报价建议使用JTA。
在这种情况下你有什么建议?
【问题讨论】:
-
投票结束,同一用户在同一时间提出几乎相同的问题。
标签: java hibernate spring tomcat jta