- 原子性:要么全部成功,要么全部不执行
- 一致性:状态转换,数据完整性不变
- 隔离性:多个用户操作同一张表,相互隔离
- 持久性:数据改变时永久性的
- 分布式事务:保证不同数据库数据一致性
- 每个库中必须创建undo_log库,用于分布式事务回滚
- 一定要设置spring.datasource.dynamic.seata配置为true,开启seata集成,否则seata全局事务回滚会失败
- @DS ( "数据库名" ) —— 用于切换多数据源
- @Transactional ( propagation = Propagation.REQUIRES_NEW ) —— 开启新的独立事务
- @GlobalTransactional —— 第一个开启事务应添加该seata全局事务注解