zoukankan      html  css  js  c++  java
  • spring事务管理总结

    事务的特性:ACID

    Atomic:原子性

    Consistency:一致性

    Isolation:隔离性

    Durability:持久性

    -------------------------------------------------------

    几个相关概念:

    脏读:一个事务读到另一个事务未提交的数据。

    幻读:一个事务两次读取的数据个数不同(另一个事务添加了新的数据)。

    不可重复读:一个事务两次读取的数据内容不同(另一个事务修改了数据)。

    --------------------------------------------------------

    事务的隔离级别

    1. DEFAULT:默认隔离级别,使用底层数据库的默认隔离级别

    2.READ_UNCOMMITTED:读未提交,读到另外事务未提交的数据,如果别的事务出现回滚,则此事务会读到无效的数据,它会导致脏读、不可重复读、幻读。

    3.READ_COMMITTED:读已提交,可以避免脏读,但是无法避免不可重复读和幻读。

    4.REPEATABLE_READ:可重复读,此级别禁止一个事务去读一个包含未提交的修改的行,并且禁止一个事务读一行,另一个事务修改此行。可以避免脏读和不可重复读,但是不可避免幻读。

    5.SERIALIZABLE:此级别包含REPEATABLE_READ中禁止的内容,并且禁止一个事务读到满足where条件的数据后,另一个事务添加的数据满足第一个事务的查询条件。所以此级别可以避免脏读、幻读和不可重复读。

    -------------------------------------------------------

    事务的传播行为:

    1.REQUIRED:支持当前事务,如果当前不存在事务则新建事务。

    2.SUPPORTS:支持当前事务,如果当前不存在事务则以无事务的方式执行。

    3.MANDATORY:支持当前事务,如果当前不存在事务则抛出异常。

    4.REQUIRES_NEW:创建一个新的事务,如果当前存在事务则挂起当前事务。

    5.NOT_SUPPORTED:以非事务的方式执行,如果当前存在事务则挂起当前事务。

    6.NEVER:以非事务的方式执行,如果当前存在事务则抛出异常。

    7.NESTED:如果当前存在事务则在一个嵌套的事务中执行。

  • 相关阅读:
    HDU 1501 Zipper(DFS)
    HDU 2181 哈密顿绕行世界问题(DFS)
    HDU 1254 推箱子(BFS)
    HDU 1045 Fire Net (DFS)
    HDU 2212 DFS
    HDU 1241Oil Deposits (DFS)
    HDU 1312 Red and Black (DFS)
    HDU 1010 Tempter of the Bone(DFS+奇偶剪枝)
    HDU 1022 Train Problem I(栈)
    HDU 1008 u Calculate e
  • 原文地址:https://www.cnblogs.com/CLAYJJ/p/10074997.html
Copyright © 2011-2022 走看看