@Transactional的属性

@Transactional的属性:

      isolation-Isolation:事务的隔离级别(与并发相关)
      noRollbackFor-Class[]:那些异常,事务可以不回滚
      noRollbackForClassName-String[](String全类名):
      rollbackFor-Class[]:哪些异常,事务需要回滚;
      rollbackForClassName-String[]:
      异常分类:
            运行时异常(非检查异常):可以不用处理;默认都回滚
            编译时异常(检查异常);要么try-catch,要么在方法上声明throws,默认不回滚;


      事务的回滚:默认发生运行时异常都 回滚,发生编译时异常不会回滚;
      noRollbackFor:哪些异常事务可以不回滚;(可以让原来默认回滚的异常给他不回滚)
            例子:noRollbackFor={ArithmeticException.class,NullPointerException.class}
      noRollbackForClassName:
            例子:noRollbackForClassName = {"java.lang.ArithmeticException"}
      rollbackFor:原本不回滚(原本编译时异常是不回滚的)的异常指定让其回滚;

      readOnly-boolean:设置事务为只读事务:
              可以进行事务优化;
              readOnly=true:加快查询速度;不用管事务那一堆操作了。
      timeout-int(秒为单位):超时:事务超出指定执行时长后自动终止并回滚
      @throws FileNotFoundException 

      propagation-Propagation:事务的传播行为;
              传播行为(事务的传播+事务的行为);
                      如果有多个事务进行嵌套运行,子事务是否要和大事务共用一个事务;


      传播行为:(多个事务之间的关系)
  AService{
  		tx_a(){
  			//a的一些方法
  			tx_b(){
  			}
  			tx_c(){
  			}
  		}
  }
posted @ 2021-04-15 20:33  jock_javaEE  阅读(141)  评论(0编辑  收藏  举报