【问题标题】:spring annotation error : no transaction is in progress弹簧注释错误:没有事务正在进行中
【发布时间】:2015-03-23 09:43:40
【问题描述】:

我正在使用 spring、hibernate 和 maven 来构建我的项目并面临这个错误。 javax.persistence.TransactionRequiredException: 没有正在进行的事务

<jpa:repositories base-package="com.sam.repository" />

<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="persistenceUnitName" value="evaluationSystemUnit"/>
    <property name="dataSource" ref="dataSource" />
    <property name="jpaVendorAdapter">  
        <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
            <property name="showSql" value="true" />
        </bean>
    </property>

    <property name="jpaPropertyMap">
        <map>
            <entry key="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/>
            <entry key="hibernate.hbm2ddl.auto" value="none" />
            <entry key="hibernate.format_sql" value="true" />
        </map>
    </property>

</bean>

<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
    <property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>

<tx:annotation-driven  transaction-manager="transactionManager"/>

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://localhost:3306/sems?autoReconnect=true&amp;characterEncoding=UTF-8" />
    <property name="username" value="root" />
    <property name="password" value="" />
</bean>

【问题讨论】:

  • 那么,您有正在进行的交易吗?相关代码在哪里?堆栈跟踪在哪里?

标签: spring-mvc annotations jpa-2.0


【解决方案1】:

我找到了解决办法。

在我的 servlet-config.xml 中,我应该写

<context:component-scan base-package="com.sam.controller"/>

而不是

<context:component-scan base-package="com.sam"/>

在我的 jpaContext.xml 中,我应该写

<context:component-scan  base-package="com.sam"/>

【讨论】:

    猜你喜欢
    • 2017-06-26
    • 2021-09-21
    • 1970-01-01
    • 2018-03-13
    • 1970-01-01
    • 2015-04-24
    • 1970-01-01
    • 1970-01-01
    • 2019-06-28
    相关资源
    最近更新 更多