jfinal-club项目事务问题

在jfinal-club项目扩展,执行下面的这段代码会触发事务问题,删除的SQL没有删除数据,新增的数据如果重复就会抛主键重复异常。不知道哪里设置这个事务的。

image.png


评论区

JFinal

2019-01-16 15:09

由于你的 delete 与后面的 save 是处在同一个事务之中,所以当你 save 时其实前面的 delete 还并未提交事务,也就是说前面的 delete 还未真正对数据库产生作用

事务处理中如果后方的数据库操作依赖于前方的,都会碰到类似的问题想办法安排一下流程,将这两个动作不要放在一个事务中

琴海森林

2019-01-16 15:44

@JFinal 嗯,这段代码我在另外一个项目是可以执行,在jfinal-club就不行

JFinal

2019-01-16 16:00

@琴海森林 在另一个项目可执行,那也是不在一个事务中才可以的,在一个事务中且前后 sql 有依赖就无法执行

逍遥一生

2019-01-16 16:28

在一个Db.tx中的代码,如果没异常 返回true 则删除和保存都会成功,如果出了异常,那你这段代码中的两个操作都会被回滚掉的 想要删除成功就把删除放在外面

热门反馈

扫码入社