面试被问:REQUIRES_NEW 到底开了几个连接 前阵子面一个五年经验的候选人,我随口问:"方法 A 用 REQUIRED 调方法 B,B 用 REQUIRES_NEW,这俩用的是同一个数据库连接吗?"对方答"应该是同一个吧,都在一个事务里"。这其实是个很常见的误解。REQUIRES_NEW 会
扣了库存没生成订单,@Transactional 一个字没生效 十一月中旬那次上线后,客服陆续接到投诉:用户付款成功,但订单列表里查不到。我翻数据库,发现 t_stock 的库存扣了,t_order 里却没有对应记录。同一个 @Transactional 方法里的两个操作,一个成了一个没成。 这种"
对账时发现:同一个事务里两次查询的结果不一样 上周做月底对账,写了个校验脚本:先统计账户表的总余额,再逐条核对流水,最后再统计一次总余额,看两次是否一致。结果两次统计的数字差了 3800 元。 我一开始以为是脚本 bug,查了半天才发现——脚本跑的过程中,有交易在实时发生,我第二次统计时读到了新提交