解决spring hibernate注解事务没有提交导致数据没有保存数据库

spring | 2019-09-13 10:02:39

解决spring hibernate注解事务没有提交,数据保存不到数据库:

我用了spring mvc 而且全注解,使用注解事务。我找了一个星期的解决方法,相信你也找了很久了。

我想你也值到原因就是事务没有起作用。

最后找到原因就是


springMvc和spring的contex不是一个而是父子容器关系。
我之前就值在spring-mvc.xml中写了一个去扫描注解 <context:component-scan base-package="controller,serviceImpl,daoImpl"></context:component-scan>

但spring并不知道你添加了@Transactional。注解没生效。所以你的事务没提交。所以保存不到数据库,也不报错。
我想spring context,就是父容器,而spring mvc才是子容器,所以controller能注入调用父容器中的bean.

解决方法
就是spring-mvc.xml中 配置

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


applicationContext.xml中配置



<!-- transaction -->
        <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
                <property name="dataSource" ref="dataSource" />
                <property name="sessionFactory" ref="sessionFactory" />
        </bean>
        <tx:annotation-driven transaction-manager="transactionManager" />
        
        <context:component-scan base-package="serviceImpl,daoImpl"></context:component-scan>



登录后即可回复 登录 | 注册
    
关注编程学问公众号