一.问题复现 1.场景 2个service方法, 方法A中调用方法B. 方法A 是核心业务方法,涉及多张表数据变更,为了保持数据一致,用spring事务注解:@Transactional(rollbackFor = Exception.class) 方法B 比较耗时,为了不影响核心业务,方法B 用@Async注解,单独开启一个线程去异步执行.(方法B在另外一个类里边,不能和A在同一个类). 2.出错原因 方法B是异步方法,导致方法A事务还没提交时(不一定出错,具体就看哪个线程执行的快了)方法B就