Spring 实现部分事务回滚
例如有业务需求,在catch异常后,catch块内把异常的信息存入到数据库,而catch外的数据全部回滚
1 2 3 4 5 6 7 8 9 | try { ....... aaaService.save(); } catch (RuntimeException e) { bbbService.save(e.getMessage()); throw new RuntimeException(e.getMessage()); } |
确保aaaService.save()的数据回滚,而 bbbService的save不回滚。
只能在bbbService save的头部加上开启新的事务即可
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false, rollbackFor = Exception.class)
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步