数据库-隔离级别和传播级别
事务的隔离级别isolation
默认[使用数据库默认事务]
- 读未提交 脏读、不可重复读、幻想读
- 读已提交 不可重复读、幻想读
- 可重复读 幻想读
- 序列化 无
事务的传播行为propagation
REQUIRED[默认]
如果当前没有事务,则新建一个事务;否则在当前事务中运行。
REQUIRED_NEW
无论当前有没有事务,都新建一个事务。内部事务的提交回滚和外部事务独立。
NESTED
如果当前没有事务,则新建一个事务;否则在当前事务中运行,但是会创建一个savepoint。内部事务的回滚不会影响外层,但是提交要和外层一块提交,即外层发生回滚会回滚内层事务
SURPPORTED
如果有就在事务中运行,否则在没有事务的环境运行
NOT_SUPPORT
无论有没有事务,都在没有事务的环境运行
NEVER
不支持事务,如果有就报错
MANDATORY
必须有事务,如果不存在事务,则报错