本地事务
- 在jdbc的api中,默认的情况为自动提交事务,也就是说,每一条对数据库的更新的sql语句代表一项事务,操作成功后,系统自动调用commit()来提交,否则将调用rollback()来撤消事务。
- 事务的核心是动态代理,利用动态代理将事务代码包装为代理对象。
- @Transactional配置在service实现方法上,service的实现类上配置@Service
- 当在事务块(带@Transactional)中调用不带@Transactional的方法时,它将使用与父方法(使用@Transactional)相同的连接,并且在被调用方法((没有@Transactional))中引起的任何异常将导致事务按事务定义中配置的方式回滚。
- 如果方法内的方法要开启新的事务,就要将这个方法放到另一个service类里,这样利用@Autowired的对象调用,不然无法开启新的事务。
分布式事务
分布式事务场景:
- 不同微服务之间会有分布式事务问题
- 同一工程的不同数据库
- 不同微服务不同数据库
分布式事务框架-seata
版权声明:本文为weixin_41604900原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。