来自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事务接口。 引用结束。
在hibernate配置中,我指出current_session_context_class = jta
现在我收到错误“No TransactionManagerLookup”。
问题是Tomcat不支持JTA,并且让它运行起来, 如果我理解正确, 您需要将JOTM或其他库添加到Tomcat。
但根据引用,建议使用JTA。
在这种情况下你能推荐什么?
答案 0 :(得分:1)
您的选择非常明确:
答案 1 :(得分:0)
在这种情况下你能推荐什么?
不使用JTA并使用Open Session In View模式来处理会话。