spring事务
1、事务
1.1、原子性
1.2、一致性
1.3、隔离性
1.4、持久性
2、事务的隔离级别
3、事物的传播级别
- 死活不要事务的 NEVER:没有就非事务执行,有就抛出异常。 NOT_SUPPORTED:没有就非事务执行,有就直接挂起,然后非事务执行。 挂起记得B事务不能再操作同一张表,不然会死锁。
- 可有可无的 SUPPORTS: 有就用,没有就算了。
- 必须有事务的 REQUIRES_NEW: 有没有都新建事务,如果原来有,就将原来挂起。 外部内部事务互相隔离,互不影响,内层回滚不影响外部。 NESTED:如果没有,就新建一个事务;如果有,就在当前事务中嵌套其他事务。,外层默认事务,内层NESTED,外层调用try{内层}catch{}。 外层异常回滚外层+内层,内层异常仅回滚内层,不影响外层。 REQUIRED:如果没有,就新建一个事务;如果有,就加入当前事务。 MANDATORY:如果没有,就抛出异常;如果有,就使用当前事务。