美文网首页
spring事务学习

spring事务学习

作者: hvne666 | 来源:发表于2018-10-22 22:52 被阅读12次

    PlatformTransactionManager,
    通过这个接口,Spring为各个平台如JDBC、Hibernate等都提供了对应的事务管理器

    spring的事务是逻辑事务

    和物理事务最大的区别在于,事务的传播行为,可以在多个事务方法间传播。

    隔离级别

    ISOLATION_DEFAULT 使用数据库默认的事务隔离级别,另外四个与 JDBC 的隔离级别相对应
    ISOLATION_READ_UNCOMMITTED
    ISOLATION_READ_COMMITTED
    ISOLATION_REPEATABLE_READ
    ISOLATION_SERIALIZABLE


    clipboard.png

    回滚规则

    Spring只有在抛出的异常为运行时unchecked异常时才回滚该事务,也就是抛出的异常为RuntimeException的子类(Errors也会导致事务回滚)

    脏读(dirty read)

    事务没提交,提前读取
    如果第二个事务查询到第一个事务还未提交的更新数据,形成脏读


    4e454df90939.png

    不可重复读(unrepeated read)

    一个事务两次读取同一行数据,结果得到不同状态结果,如中间正好另一个事务更新了该数据,两次结果相异,不可信任


    7794831973dd.png

    幻读(phantom read)

    一个事务执行两次查询,第二次结果集包含第一次中没有或者某些行已被删除,造成两次结果不一致,只是另一个事务在这两次查询中间插入或者删除了数据造成的


    191271a067f4.png

    相关文章

      网友评论

          本文标题:spring事务学习

          本文链接:https://www.haomeiwen.com/subject/xvbnzftx.html