sinat_29395945
sinat_29395945
2015-06-29 02:49
采纳率: 100%
浏览 1.9k

spring3+mybatis+myql事务不生效

代码格式为
@Transactional(rollbackFor=java.lang.Exception.class, propagation=Propagation.REQUIRED, readOnly=false)
public void excuDevOrAppPagRel(DevPackageRln devPackageRln) throws Exception{
//具体操作,无try-catch操作
}

mysql所有表的引擎已改为innodb,也尝试设置过setautocommit=0,但是还是不回滚,求解。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • sinat_29395945
    sinat_29395945 2015-07-10 06:50
    已采纳

    终于搞定了,mysql 的autocommit有session和global级别的,把这俩都设置为false就可以了,业务不精啊

    点赞 评论
  • wang_shx
    wang_shx 2015-06-29 03:45

    有没有在application.xml 配置一个transcation 的定义?

    点赞 评论
  • wbshuaiq
    痘痘飞 2015-06-29 03:56

    检查sessionFactory配置

    点赞 评论
  • wang_shx
    wang_shx 2015-06-29 08:24

    我是在application中配置后,在注入的xml文件中指定用这个transcation,事务是能够保证的。直接用@模式注入,没有用过。

    点赞 评论
  • qq_28108539
    嘻嘻哈哈哈0805 2015-06-29 09:17
    <bean id="txManager"
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="ds" />
    </bean>
    使用声明式事物就可以,不用添加配置,ds为数据库的配置
    
    点赞 评论
  • sinat_29395945
    sinat_29395945 2015-06-30 02:55



    <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" order="1" />
    
    spring 配置文件中是这么配置的,没啥问题吧
    
    点赞 评论

相关推荐