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

@Transactional注解:多個(gè)事務(wù)嵌套時(shí),獨(dú)立事務(wù)處理方式

 更新時(shí)間:2022年01月25日 14:54:21   作者:iSetYu  
這篇文章主要介紹了@Transactional注解:多個(gè)事務(wù)嵌套時(shí),獨(dú)立事務(wù)處理方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

@Transactional注解:多事務(wù)嵌套,獨(dú)立事務(wù)處理

看下需求

在多個(gè)事務(wù)嵌套使用時(shí),排除事務(wù)之間的回滾影響

解決方案

在不同服務(wù)類的方法中使用Transactional的propagation屬性來實(shí)現(xiàn)隔離事務(wù)。(注意兩個(gè)方法不在同一個(gè)服務(wù)類中)

Propagation.REQUIRES_NEW即說明該事務(wù)開啟單獨(dú)事務(wù),不受其他事務(wù)影響

// 服務(wù)類A
@Autowired
private ABizService aBizService;
 
@Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public String insert(FacedbInfoDTO facedbInfoDTO) throws ServiceException {
    ... 
    aBizService.generateId();
} 
 
// 服務(wù)類B
@Override
@Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
public String generateId() {
    ...    
}

嵌套事務(wù)分析@Transactional

事務(wù)類型總共有七種;在這就介紹常用的的兩個(gè)。 

@Transactional(propagation=Propagation.REQUIRED)//如果有事務(wù),那么加入事務(wù),沒有的話新創(chuàng)建一個(gè);不指定propagation默認(rèn)就是這個(gè)
@Transactional(propagation=Propagation.REQUIREDS_NEW)//不管是否存在事務(wù),都創(chuàng)建一個(gè)新的事務(wù),原來的掛起,新的執(zhí)行完畢,繼續(xù)執(zhí)行老的事務(wù),

Propagation.REQUIRED類型事務(wù)嵌套

A事務(wù)方法調(diào)用B事務(wù)方法時(shí)如果兩個(gè)事務(wù)注解在生效的情況下,在這里A事務(wù)稱為父類,B事務(wù)稱為子類;A方法操作數(shù)據(jù)庫后調(diào)用B方法,下列異常拋出時(shí)保證AB方法里對數(shù)據(jù)庫操作都完成了才拋出異常;RuleException繼承的RuntimeException;

列舉一下測試結(jié)果:

在這里插入圖片描述

總結(jié):

1.如果子類方法拋出的異常,不管滿足子類還是父類的注解的回滾事務(wù)就會回滾;

2.如果父類拋出異常,只看父類的事務(wù)注解,如果回滾就父子皆回滾,如果不回滾父子皆不回滾

嵌套事務(wù)類型是Propagation.REQUIRES_NEW

這種情況下子事務(wù)開啟了新的session,父事務(wù)先鎖定一條記錄(for update)子事務(wù)也鎖這一條記錄時(shí)就會死鎖;這點(diǎn)要注意;

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java實(shí)現(xiàn)員工信息管理系統(tǒng)

    Java實(shí)現(xiàn)員工信息管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)員工信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • java實(shí)現(xiàn)簡單的學(xué)生管理系統(tǒng)

    java實(shí)現(xiàn)簡單的學(xué)生管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡單的學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Java泛型 <T> T、 T、<T>的用法小結(jié)

    Java泛型 <T> T、 T、<T>的用法小結(jié)

    T在Java泛型中,被稱作類型變量, 有的方法返回值是<T> T,有的是T,區(qū)別在哪里,本文主要介紹了Java泛型 <T> T、 T、<T>的用法小結(jié),具有一定的參考價(jià)值,感興趣的可以了解下
    2023-12-12
  • 一步步帶你入門Java中File類

    一步步帶你入門Java中File類

    java.io.File類是文件和目錄路徑名的抽象表示形式,主要用于文件和目錄的創(chuàng)建、查找和刪除等操作,下面這篇文章主要給大家介紹了關(guān)于入門Java中File類的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • SpringBoot中定時(shí)任務(wù)@Scheduled的多線程使用詳解

    SpringBoot中定時(shí)任務(wù)@Scheduled的多線程使用詳解

    這篇文章主要為大家詳細(xì)介紹了pring Boot定時(shí)任務(wù)@Scheduled的多線程原理以及如何加入線程池來處理定時(shí)任務(wù),感興趣的可以了解一下
    2023-04-04
  • Spring Task定時(shí)任務(wù)的實(shí)現(xiàn)詳解

    Spring Task定時(shí)任務(wù)的實(shí)現(xiàn)詳解

    這篇文章主要介紹了SpringBoot定時(shí)任務(wù)功能詳細(xì)解析,這次的功能開發(fā)過程中也算是對其內(nèi)涵的進(jìn)一步了解,以后遇到定時(shí)任務(wù)的處理也更清晰,更有效率了,對SpringBoot定時(shí)任務(wù)相關(guān)知識感興趣的朋友一起看看吧
    2022-08-08
  • Java匿名內(nèi)部類導(dǎo)致內(nèi)存泄露的原因與解決方案詳解

    Java匿名內(nèi)部類導(dǎo)致內(nèi)存泄露的原因與解決方案詳解

    這篇文章主要為大家詳細(xì)介紹了Java因?yàn)槟涿麅?nèi)部類導(dǎo)致內(nèi)存泄露的原因以及其解決方案,文中的示例代碼講解詳細(xì),希望對大家有所幫助
    2022-11-11
  • 關(guān)于IDEA無法預(yù)覽Markdown文件的解決思路

    關(guān)于IDEA無法預(yù)覽Markdown文件的解決思路

    在IntelliJ IDEA中,有時(shí)Markdown文件無法預(yù)覽可能是因?yàn)槲募P(guān)聯(lián)設(shè)置不正確或配置信息錯(cuò)誤,首先,檢查IDE的File Types設(shè)置,確保.md和.markdown后綴已正確注冊,其次,對照官方配置信息,調(diào)整Markdown設(shè)置
    2024-09-09
  • 基于Spring Boot使用JpaRepository刪除數(shù)據(jù)時(shí)的注意事項(xiàng)

    基于Spring Boot使用JpaRepository刪除數(shù)據(jù)時(shí)的注意事項(xiàng)

    這篇文章主要介紹了Spring Boot使用JpaRepository刪除數(shù)據(jù)時(shí)的注意事項(xiàng),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • 解決在SpringBoot中使用@Value取不到值的問題

    解決在SpringBoot中使用@Value取不到值的問題

    這篇文章主要給大家分享解決在SpringBoot中使用@Value取不到值的問題,文中有詳細(xì)的解決代碼供大家參考,具有一定的參考價(jià)值,需要的朋友可以參考下
    2023-09-09

最新評論

宁乡县| 海原县| 银川市| 固原市| 马公市| 大冶市| 广饶县| 正宁县| 汶上县| 武汉市| 长武县| 鹰潭市| 榆树市| 宁化县| 栖霞市| 信阳市| 宜宾县| 峨眉山市| 辽宁省| 黄梅县| 甘孜| 华亭县| 衡南县| 常熟市| 盐池县| 永福县| 山阴县| 阿勒泰市| 米易县| 含山县| 南皮县| 清涧县| 荣昌县| 称多县| 仁怀市| 芜湖县| 婺源县| 镇平县| 茂名市| 商城县| 儋州市|