首页 新闻 搜索 专区 学院

大神来看看吧 Spring mybatis 事务问题

0
悬赏园豆:50 [待解决问题]

 

 sppring-servlet.xml

 

application-core.xml

  事务不能回滚   执行save(user)的时候创建了一个sqlsession  然后就关闭了  再执行save(role)的时候有创建了一个sqlsession

 Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1a79faa]

问题补充:

这边的问题很严重了  我寻思着是不是配置出现问题了  我就把applica-core.xml 里面的事务给注释掉了   结果问题来了  居然还是给插入用户表的数据提交上去了

  <!-- <bean id="txManager"
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>
      <tx:annotation-driven transaction-manager="txManager" proxy-target-class="true"/> -->

dwk的主页 dwk | 初学一级 | 园豆:152
提问于:2015-11-29 15:29
< >
分享
所有回答(1)
0
<!-- 声明式事物管理 -->
    <bean id="transactionManager"
        class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory"></property>
    </bean>
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
        <tx:attributes>
            <!-- 以find开头的方法不需要开启事物,且session是readOnly的 -->
            <tx:method name="find*" read-only="true" propagation="NOT_SUPPORTED"/>
            <!-- 其余方法采用默认配置 -->
            <tx:method name="*" />
        </tx:attributes>
    </tx:advice>
    <aop:config>
    <!-- 在service层上开始管理事物 -->
        <aop:pointcut id="operation"
            expression="execution(public * com.service.impl.*.*(..))" />
        <aop:advisor advice-ref="txAdvice" pointcut-ref="operation" />
    </aop:config>

你没有进行声明式事务管理,配置aop和advice

高山仰止oo | 园豆:210 (菜鸟二级) | 2015-12-10 23:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册