5.spring中事务的传播属性
- 事务的一些属性
transaction (ACID):
A : 原子性 :
C : Consistent ( 一致性 )
I : Isolate ( 隔离特性 )
D : Durable ( 持久性 )
事务属性 :
1, 隔离级别 .
|- ISOLATION_DEFAULT
|- ISOLATION_READ_UNCOMMITED ---> 脏读
|- ISOLATION_READ_COMMITED -----> 不可重复读
|- ISOLATION_REPEATABLE(行级锁)--> 幻影读
|- ISOLATION_SERIALIZABLE(表级锁)>
2, 传播特性
PROPAGATION_REQUIRED: 需要事务,存在:加入,不存在:自己创建.
PROPAGATION_SUPPORTS: 支持事务, 存在:加入,不存在:不使用事务.
PROPAGATION_MODITORY : 必须运行在事务中, 有事务:加入, 没事务: 异常.
PROPAGATION_REQUIRED_NEW :必须运行在自己开启的新事务里,没有事务: 自己开启, 有 : 阻塞.
PROPAGATION_NOT_SUPPORT : 不支持,存在:阻塞。不存在: 运行在非事务环境中。
PROPAGATION_NEVER :不支持,存在:异常,不存在 : 运行在非事务环境中。
PROPAGATION_NESTED : 嵌套事务(一般数据库不支持)
3, 只读特性 .
select xxx for update
4, timeout .超时时间
5, 回滚策略 :
|- Checked Exception (提交事务)
|- RuntimeException( 回滚 )