Spring事务传播机制:
Required:支持当前事务,没有事务就创建合为一起;1、当外没事务里有事务,则最终还是里面有事务2、若外有事务,里没事务,里发生异常,外方法中try catch 里面方法,会抛出异常
Required_new :有事务挂起创建新事物,没事务创建新事务(反正创建新事务),当一个事务嵌套了required_new,两事务没关系,required_new 报错回滚,其他事务没影响
**Nested:**嵌套,需要try catch,否则没作用,嵌套的事务错误,都要回滚 当事务中嵌套了nested事务发生错误,
Not_supports:非事务执行,有事务挂起
**Supports:**有事务创建事务,没事务非事务(相当于没写)
Mandatory:事务执行,没事务异常
Never:非事务执行,有事务异常
案例具体代码 ,轻松理解
https://www.jianshu.com/p/25c8e5a35ece
五个隔离级别
脏读:读没有提交的数据
幻读:读取一定范围的数据,读取前后两次的数据结果不一致
不可重复读:和幻读差不多,但是读取一条记录,前后数据不一致
默认是isolation_default(和数据库的设置一样)
脏读 不可重复读 幻读
Isolationread_uncommited √ √ √
Isolationread_ commited × √ √
Isolationread_ pretableread × × √
Isolationread_ serializable × × ×