Spring事物的传播机制
2021-04-10 09:37:36 0 举报
Spring事物的传播机制
作者其他创作
大纲/内容
DepartmentService(不开启事物)
UserService(开启了事物)
DepartmentService(开启了事物)
UserService(不开启事物)
事物传播机制
描述
PROPAGATION_REQUIRED
内外层的事物合并成一个事物一块提交,一起提交,外层没有事物则创建一个事物
PROPAGATION_REQUES_NEW
每次都创建一个新的事物,挂起外层事物,新建一个内层的事物
PROPAGATION_SUPPORT
外层有事物则加入外层的事物,否则直接非事物的方式执行
PROPAGATION_NOT_SUPPORT
不支持事物,外层存在事物则挂起,执行完当前的代码恢复外层事物,异常也不回滚
PROPAGATION_NEVER
不支持外层事物,外层有事物直接抛出异常
PROPAGATION_MANDATORY
与NEVER相反,外层没有事物则抛出异常
PROPAGATION_NESTED
可以保存状态保存点,当前事物回滚到某一个点,避免所有嵌套事物都被回滚
一个事物
事物1
事物的传播机制事物的传播机制解决的问题如下图所示,当两个嵌套应该如何处理。
Spring事物的隔离级别
抛出异常
MYSQL默认
Oracl默认
事物2
默认
更新了部门信息,同时更新了用户信息
PROPAGATION:传播REQUIRED:必须的MANDATORY:强制的NESTED:嵌套的
级别
ISOATION_DEFAULT
与数据库的隔离级别一致
ISOLATION_READ_UNCOMMITTED
读未提交
ISOLATION_READ_COMMITTED
读已提交
ISOLATION_REPEATABLE_READ
可重复读
ISOLATION_SERIALIZABLE
可序列化
0 条评论
下一页