@Transactional的实现原理
问题产生原因:
a服务的a方法上面加了@Transactional注解,然后a方法在表中插入一条数据,然后调用b服务,b服务的b方法再调用a服务中的c方法查询刚刚插入的数据发现查不到。
Spring将带有@Transactional注解的类生成动态代理类,本质就是将带有@Transactional 注解的方法内对数据库的操作放在try catch中,如果报错则回滚,如果不报错则成功提交
a服务的a方法上面加了@Transactional注解,然后a方法在表中插入一条数据,然后调用b服务,b服务的b方法再调用a服务中的c方法查询刚刚插入的数据发现查不到。
Spring将带有@Transactional注解的类生成动态代理类,本质就是将带有@Transactional 注解的方法内对数据库的操作放在try catch中,如果报错则回滚,如果不报错则成功提交