首页 新闻 搜索 专区 学院

SSH中配置了事务,但无法回滚

0
[待解决问题]

查看了很多案例,但是我这样配置,总是无法实现事务的回滚!
求解!!!!

二毛605332的主页 二毛605332 | 初学一级 | 园豆:181
提问于:2019-04-18 10:56
< >
分享
所有回答(3)
0

你在add方法里都把异常自己吃掉了,还怎么指望事务管理器帮你回滚异常呢?

让我发会呆 | 园豆:2636 (老鸟四级) | 2019-04-18 11:02

我再catch中又把异常抛出了,而且我试过不要try-catch也是无法实现回滚

支持(0) 反对(0) 二毛605332 | 园豆:181 (初学一级) | 2019-04-18 11:07

@二毛605332: 哦,那你仔细看看你的数据源配置,以及一些包路径等配置有没有错误的地方,再试试 在<tx:method>标签 加上 rollback-for="Throwable"

支持(0) 反对(0) 让我发会呆 | 园豆:2636 (老鸟四级) | 2019-04-18 11:12

@二毛605332: 会不会是你配置的这个事务管理器hibernate5,它并没有影响到你代码中session的save方法的提交。

支持(0) 反对(0) 让我发会呆 | 园豆:2636 (老鸟四级) | 2019-04-18 16:03
0

都设置了事物,为什么要加trtcatch 呢

以写不出bug为目标 | 园豆:204 (菜鸟二级) | 2019-04-18 11:32

我把try-catch去掉了,还是不行

支持(0) 反对(0) 二毛605332 | 园豆:181 (初学一级) | 2019-04-18 11:33
0

你看看session.save()有没有事务? 如果save()方法有一个required-new的事务,可能会出现之前正确save的数据不会回滚

橘子果汁 | 园豆:314 (菜鸟二级) | 2019-04-18 11:53

这个save()方法是hibernate自身的方法,不是我自己配置的

支持(0) 反对(0) 二毛605332 | 园豆:181 (初学一级) | 2019-04-18 11:57

@二毛605332: 对,你可以看看源码。我没用过hibernate,想看源码看不到 哈哈哈 你看看

支持(0) 反对(0) 橘子果汁 | 园豆:314 (菜鸟二级) | 2019-04-18 12:00
支持(0) 反对(0) 橘子果汁 | 园豆:314 (菜鸟二级) | 2019-04-18 12:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册