Hibernate 有效,但在通过 Web 服务调用时无效

标签 hibernate tomcat

我得到了一个使用 hibernate 连接到数据库并检索数据的方法。当作为独立的 Java 应用程序执行时,该方法工作正常。但是,当我尝试将其部署在 tomcat 上并作为 Web 服务调用时,出现如下错误。我的方法是第一个也是唯一一个建立数据库连接的地方,即我没有在 tomcat 中定义任何数据源。

No Hibernate Session bound to thread, and configuration does not allow creation 
of non-transactional one here
at
org.springframework.orm.hibernate3.LocalSessionFactoryBean$TransactionAwareInvocationHandler.invoke(LocalSessionFactoryBean.

我的 hibernate 配置文件:

<bean id="mySessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    <property name="dataSource" ref="myDataSource" />
    <property name="exposeTransactionAwareSessionFactory" value="true" />
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.HSQLDialect</prop>
            <prop key="hibernate.show_sql">true</prop>
            <prop key="hibernate.hbm2ddl.auto">none</prop>
            <prop key="hibernate.statement_cache.size">10</prop>
            <prop key="hibernate.c3p0.min_size">1</prop>                
            <prop key="hibernate.c3p0.max_size">10</prop>
            <prop key="hibernate.connection.autocommit">false</prop>
            <prop key="hibernate.default_schema">${mydbSchema}</prop>
            <prop key="hibernate.current_session_context_class">thread</prop>        
            <prop key="hibernate.transaction.manager_lookup_class">com.atomikos.icatch.jta.hibernate3.TransactionManagerLookup</prop>                
        </props>
    </property>
</bean>

我正在使用以下 hibernate 模块:

hibernate 注释 3.4.0.GA, hibernate 核心 3.3.1.GA, hibernate 3.2.6.ga, hibernate 公共(public)注释 3.1.0.GA

最佳答案

您的方法需要在事务中调用。或者您的方法需要使用事务。

关于Hibernate 有效,但在通过 Web 服务调用时无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10143367/

相关文章:

java - Hibernate 关系映射 - 必须吗?

java - 比较 n 个对象的多个字段的共同值

java - 无法转换 HibernateTemplate.findByCriteria(criteria) 的 List<Object> 返回类型

Tomcat 服务器崩溃

java - 我如何运行两个 Tomcat 服务器 v7.0

eclipse - java.lang.IllegalArgumentException : Invalid <url-pattern> WelcomeServlet in servlet mapping 异常

java - 如何使用 Tomcat 上下文使用 Java 控制台应用程序和 Hibernate?

java - Hibernate PostInsertEventListeners - 使用与插入相同的事务?

java - Java JDK 相对于 JRE 的优势

java - 使用tomcat作为服务器在eclipse ide的服务器上运行网站