2 zldtk zldtk 于 2016.09.10 16:59 提问

spirng注解事务 @Transactional 放到类上生效, 放到方法上不生效

1.框架springMVC+mybatis, 数据库mysql
2.mybatis采用mapper代理方式执行sql(即只定义了Mapper接口和mapper文件)
3.service注解的扫描 只在 applicationContxt.xml中扫描, spring-mvc.xml中已经排除出去
4.自己故意抛出一个运行时异常,如 int a = 1/0;
当@Transactional 放到方法上时, 1/0报错, 但是执行的sql却没有回滚,且日志中打出:
"Closing non transactional SqlSession",意思好像是sqlSession没有被事务管理;
当@Transactional 放到类上时,1/0报错, 但是事务生效了, 回滚了, 请问,这是什么原因呢

2个回答

devmiao
devmiao   Ds   Rxr 2016.09.10 23:53
zldtk
zldtk 我的配置和他一样呀, 我的事务注解放到方法上没效果,但是放到类上就可以了。。。。。
一年多之前 回复
zldtk
zldtk   2016.09.11 19:07

我的配置和他一样呀, 我的事务注解放到方法上没效果,但是放到类上就可以了。。。。。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!