最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于Spring事務(wù)隔離、傳播屬性與@Transactional注解

 更新時間:2023年05月12日 10:21:16   作者:wangjun5159  
這篇文章主要介紹了關(guān)于事務(wù)隔離、Spring傳播屬性與@Transactional注解,如果一組處理步驟或者全部發(fā)生或者一步也不執(zhí)行,我們稱該組處理步驟為一個事務(wù),需要的朋友可以參考下

mysql默認的隔離級別是repeatable_read

在這里插入圖片描述

在這里插入圖片描述

根據(jù)spring文檔,數(shù)據(jù)庫一共有4個隔離級別

  • read_uncommit
  • read_commited
    • 讀已提交 ,解決了臟讀
  • repeatable_read
    • 可重復(fù)讀,解決了不可重復(fù)讀
  • serializable
    • 順序化 ,解決了幻讀

對應(yīng)的java類,org.springframework.transaction.annotation.Isolation

  • 臟讀
    • 事務(wù)1修改了行1,但是還沒commit,事務(wù)2讀取了未commit的行1,事務(wù)1回滾了行1;
  • 不可重復(fù)讀
    • 事務(wù)1讀了行1,事務(wù)2修改了行1并commit,事務(wù)1再次讀了行1,發(fā)現(xiàn)行1變了。
  • 幻讀
    • 事務(wù)1讀了滿足where條件的所有行,事務(wù)2插入了滿足where的一行,事務(wù)1再讀同樣的where條件時,獲取了額外的“幻行”。

spring傳播屬性

spring事務(wù)傳播屬性,org.springframework.transaction.annotation.Propagation,其他有

  • required
    • 當(dāng)前有事務(wù),則利用已有事務(wù);當(dāng)前沒有事務(wù),則創(chuàng)建事務(wù);
  • required_new
    • 創(chuàng)建新事物,如果存在事務(wù),暫停當(dāng)前事務(wù);注意這里的措辭,先創(chuàng)建新事務(wù),然后再判斷是否存在事務(wù),如果存在,則暫停;
  • supports
    • 當(dāng)前有事務(wù),使用當(dāng)前事務(wù),否則無事務(wù)執(zhí)行;
  • nested
    • 如果當(dāng)前存在事務(wù),則創(chuàng)建子事務(wù),其他的就跟required相同;只在特定的事務(wù)管理器支持nested,開箱即用的有JDBC DataSourceTransactionManager,有些JTA providers可能也支持nested事務(wù);
  • never
    • 非事務(wù)執(zhí)行,如果有事務(wù)則拋出異常;
  • mandatory
    • 使用當(dāng)前事務(wù),如果沒有事務(wù)則拋出異常;

@Transactional注解

@Transactional注解 事務(wù)超時時間:依賴底層事務(wù)系統(tǒng),取決于數(shù)據(jù)庫。

  • rollbackfor
    • 默認RuntimeException回滾;checked exceptions(business exception)不會回滾;
  • readonly
    • 只能有查詢語句,不能有update、insert語句,僅對required、required_new起作用。

總結(jié)

隔離級別和傳播屬性是兩個概念,隔離級別屬于數(shù)據(jù)庫,傳播屬性是spring的,它們的所有者是不同的;隔離級別是為了解決事物間影響的問題;傳播屬性是為了解決,方法間事務(wù)互相利用的問題;

到此這篇關(guān)于關(guān)于事務(wù)隔離、Spring傳播屬性與@Transactional注解的文章就介紹到這了,更多相關(guān)事務(wù)隔離和Spring傳播屬性內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

清徐县| 贵溪市| 江陵县| 平湖市| 桃江县| 肇庆市| 开江县| 平山县| 奈曼旗| 乌鲁木齐县| 丹棱县| 区。| 林周县| 崇州市| 信阳市| 开原市| 贺兰县| 太康县| 宽城| 巴中市| 龙海市| 中卫市| 新余市| 彭阳县| 准格尔旗| 葵青区| 宁德市| 科尔| 厦门市| 磐石市| 新源县| 蛟河市| 安庆市| 怀化市| 开阳县| 昭苏县| 突泉县| 登封市| 荔浦县| 宜兰市| 深水埗区|