餘yú啊 2021-11-11 22:18 采纳率: 63.6%
浏览 34
已结题

spring通过注解的方式添加事务,为什么事务没办法回滚

是这样的,我通过spring注解的方式添加了事务,如下:

img


在实现类中有三个方法,第一个是添加出售订单表的,第二个是更新库存表的(修改指定id商品的存量),第三个是查询库存,为什么我添加了一个库存没有的商品数据是,方法一可以添加,方法二修改失败(没有指定id的商品),按理来说,这个时候,应该就得回滚了,但是我回去查数据库的时候,出售表添加了这个商品,库存表却没有改变。如果事务成功的话,这个时候不应该两个表都不会变吗。
下面是控制台的内容:

img


有人知道怎么回事吗??麻烦帮我看看。
数据库如下:

img

img


通过操作后:

img


数据库变化如下:

img

img


,我也改了表的innodb,也没用

  • 写回答

4条回答 默认 最新

  • I'Msohs 2021-11-12 09:33
    关注

    事务回滚是发生了运行期异常,如果发生异常若是没有回滚,可能你把异常手动try catch了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 11月20日
  • 已采纳回答 11月12日
  • 创建了问题 11月11日