做爰高潮a片〈毛片〉,尤物av天堂一区二区在线观看,一本久久A久久精品VR综合,添女人荫蒂全部过程av

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

Spring事務的傳播行為和隔離級別

來源:懂視網(wǎng) 責編:小采 時間:2020-11-09 14:48:43
文檔

Spring事務的傳播行為和隔離級別

Spring事務的傳播行為和隔離級別:1.事務的傳播行為 事務的使用過程中,用的最多的傳播行為是require,在大部分的mis系統(tǒng)里,可以對整個業(yè)務層切一個require的事務就可以滿足需要。 但spring提供的不僅如此,對于復雜的業(yè)務,Spring也提供了相應的事務傳播行為來滿足業(yè)務需要。 Spring
推薦度:
導讀Spring事務的傳播行為和隔離級別:1.事務的傳播行為 事務的使用過程中,用的最多的傳播行為是require,在大部分的mis系統(tǒng)里,可以對整個業(yè)務層切一個require的事務就可以滿足需要。 但spring提供的不僅如此,對于復雜的業(yè)務,Spring也提供了相應的事務傳播行為來滿足業(yè)務需要。 Spring

1.事務的傳播行為 事務的使用過程中,用的最多的傳播行為是require,在大部分的mis系統(tǒng)里,可以對整個業(yè)務層切一個require的事務就可以滿足需要。 但spring提供的不僅如此,對于復雜的業(yè)務,Spring也提供了相應的事務傳播行為來滿足業(yè)務需要。 Spring中的傳

1.事務的傳播行為

事務的使用過程中,用的最多的傳播行為是require,在大部分的mis系統(tǒng)里,可以對整個業(yè)務層切一個require的事務就可以滿足需要。

但spring提供的不僅如此,對于復雜的業(yè)務,Spring也提供了相應的事務傳播行為來滿足業(yè)務需要。

Spring中的傳播行為如下:

Require:支持當前事務,如果沒有事務,就建一個新的,這是最常見的;

Supports:支持當前事務,如果當前沒有事務,就以非事務方式執(zhí)行;

Mandatory:支持當前事務,如果當前沒有事務,就拋出異常;

RequiresNew:新建事務,如果當前存在事務,把當前事務掛起;

NotSupported:以非事務方式執(zhí)行操作,如果當前存在事務,就把事務掛起;

Never:以非事務方式執(zhí)行,如果當前存在事務,則拋出異常。

Nested:新建事務,如果當前存在事務,把當前事務掛起。與RequireNew的區(qū)別是與父事務相關,且有一個savepoint。

其中,Require、Supports、NotSupported、Never兩個看文字也就能了解,就不多說了。而Mandatory是要求所有的操作必須在一個事務里,較Require來說,對事務要求的更加嚴格。

RequireNew:當一個Require方法A調(diào)用RequireNew方法B時,B方法會新new一個事務,并且這個事務和A事務沒有關系,也就是說B方法出現(xiàn)異常,不會導致A的回滾,同理當B已提交,A再出現(xiàn)異常,B也不會回滾。

Nested:這個和RequireNew的區(qū)別是B方法的事務和A方法的事務是相關的。只有在A事務提交的時候,B事務都會提交。也就是說當A發(fā)生異常時,A、B事務都回滾,而當B出現(xiàn)異常時,B回滾,而A回滾到savepoint,如下代碼所示:

public void A(){
 //操作1
 //操作2
 //操作3
 try{
 //savepoint
 B();//一個Nested的方法
 } catch{
 //出現(xiàn)異常,B方法回滾,A方法回滾到
 //savepoint,也就是說操作1、2、3 都還在
 C();
 } finally{

 }

} 
2.事務的隔離級別
說完了事務傳播的行為,現(xiàn)在再說下事務隔離級別,事務隔離級別的出現(xiàn),是為了使你在性能與數(shù)據(jù)的有效性之間做一個平衡,不是說級別越高越好,只有合適才是最好的。

事務隔離級別如下:

Serializable:最嚴格的級別,事務串行執(zhí)行,資源消耗最大;

Repeatable Read:保證了一個事務不會修改已經(jīng)由另一個事務讀取但未提交(回滾)的數(shù)據(jù)。

Read Committed:大多數(shù)主流數(shù)據(jù)庫的默認事務等級,保證了一個事務不會讀到另一個并行事務已經(jīng)修改但未提交的數(shù)據(jù)。適用于大多數(shù)系統(tǒng)。

Read Uncommitted:保證了讀取過程中不會讀取到非法數(shù)據(jù)。

想要理解這四個級別,還需要知道三種不討人喜歡的事情:

dirty reads:臟讀,就是說事務A未提交的數(shù)據(jù)被事務B讀走,如果事務A失敗回滾,將導致B所讀取的數(shù)據(jù)是錯誤的。

non-repeatable reads:不可重復讀,就是說事務A中兩處讀取數(shù)據(jù),第一次讀時是100,然后事務B把值改成了200,事務A再讀一次,結(jié)果就發(fā)現(xiàn)值變了,造成A事務數(shù)據(jù)混亂。

phantom read:幻讀,和不可重復讀相似,也是同一個事務中多次讀不一致的問題。但是不可重復讀的不一致是因為它所要取的數(shù)據(jù)集被改變了,而幻讀所要讀的數(shù)據(jù)不一致卻不是他所要讀的數(shù)據(jù)改變,而是它的條件數(shù)據(jù)集改變。比如:Select id where name="ppgogo*",第一次讀去了6個符合條件的id,第二次讀時,由于事務B把第一個貼的名字由"dd"改成了“ppgogo9”,結(jié)果取出來7個數(shù)據(jù)。

而事務的隔離級別會導致讀取到非法數(shù)據(jù)的情況如下表示:

\

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

Spring事務的傳播行為和隔離級別

Spring事務的傳播行為和隔離級別:1.事務的傳播行為 事務的使用過程中,用的最多的傳播行為是require,在大部分的mis系統(tǒng)里,可以對整個業(yè)務層切一個require的事務就可以滿足需要。 但spring提供的不僅如此,對于復雜的業(yè)務,Spring也提供了相應的事務傳播行為來滿足業(yè)務需要。 Spring
推薦度:
標簽: 行為 級別 傳播
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 阜新| 清流县| 潮州市| 长沙市| 宁夏| 康定县| 宜州市| 普兰县| 刚察县| 万荣县| 汉川市| 永靖县| 红桥区| 南宫市| SHOW| 禄劝| 丰宁| 山东| 乡城县| 南宁市| 巢湖市| 福建省| 瓦房店市| 新民市| 宝应县| 鸡西市| 闻喜县| 科尔| 黎川县| 白城市| 乐山市| 乐陵市| 丰台区| 安龙县| 海门市| 藁城市| 德清县| 阿图什市| 施秉县| 五寨县| 武冈市|