spring事务

46 阅读1分钟

spring事务

1、事务

1.1、原子性

1.2、一致性

1.3、隔离性

1.4、持久性

2、事务的隔离级别

3、事物的传播级别

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