导航

spring事务

Posted on 2019-08-08 16:08  cdeelen  阅读(89)  评论(0编辑  收藏  举报

1、spring事务传播特性

  多事务时处理策略

    PROPAGATION_REQUIRED:如果存在事务,则支持当前事务,没有的话新建一个事务

    PROPAGATION_SUPPORTS:如果存在事务的话,支持当前事务,否则以非事务方式执行

    PROPAGATION_MANDATORY:如果存在事务则支持当前事务,否则抛出异常

    PROPAGATION_NOT_SUPORTED:不支持事务,以非事务方式执行

    PROPAGTION_REQUIRES_NEW:新建事务,如果当前存在事务就将其挂起

    PROPAGATION_NERVER:以非事务方式执行,如果存在事务的话抛出异常

    PROPAGATION_NESTED:支持当前事务,新增Savepoint点,与当前事务同步提交或者回滚

2、数据库的事务隔离级别

  READ_UNCOMMITED:允许读取未提交的数据。可能导致脏读、幻读不可重复度

  READ_COMMITED:允许允许在并发事务已经提交后读取。可防止脏读、但幻读和不可重复读人可发生

  SERIALIZABLE:完全服从ACID的隔离级别,确保脏读,幻读不可重复读不会发生,是通过锁定在事务中设计的数据实现的