声明式事务不回滚

老大,好.我在开发的过程中遇到一个问题.
首先对对象进行增强
controller层

Class service = Class.forName(handleClass);
IOrderService instance = Duang.duang(service.newInstance());
instance.runA(paramA, paramB)

在instance对象中runA方法会调用runB方法, 对runB方法进行声明式事务.runB方法中有两个更新方法,结果数据没有回滚(数据库引擎已经更改),不知道我哪里写的有问题,请指教一下,多谢

评论区

lyh061619

2018-04-11 09:31

看你贴出的代码片段,既然用上Duang.duang进行增强,事物的正确使用姿势应该是Duang.duang(service.newInstance(), Tx.class);详细说明请查看文档:http://www.jfinal.com/doc/4-8

JFinal

2018-04-11 09:45

是否使用了 Db.tx 或者 @Before(Tx.class) ,这部分代码要有保障

ttcool

2018-04-11 17:31

@lyh061619 我只是对service中的某些方法进行事务处理, 您说的这种对Class所有方法进行拦截的是不是有些不妥

ttcool

2018-04-11 19:34

对runB使用的是@Before(Tx.class); 后改用Duang.duang(service.newInstance(), Tx.class)也是不起作用