事物那些事

2021-08-08 11:26:49 字數 1321 閱讀 9542

事物傳播行為介紹:

@transactional(propagation=propagation.required)

如果有事務, 那麼加入事務, 沒有的話新建乙個(預設情況下)

@transactional(propagation=propagation.not_supported)

容器不為這個方法開啟事務

@transactional(propagation=propagation.requires_new)

不管是否存在事務,都建立乙個新的事務,原來的掛起,新的執行完畢,繼續執行老的事務

@transactional(propagation=propagation.mandatory)

必須在乙個已有的事務中執行,否則丟擲異常

@transactional(propagation=propagation.never)

必須在乙個沒有的事務中執行,否則丟擲異常(與propagation.mandatory相反)

@transactional(propagation=propagation.supports)

如果其他bean呼叫這個方法,在其他bean中宣告事務,那就用事務.如果其他bean沒有宣告事務,那就不用事務.

事物超時設定:

@transactional(timeout=30) //預設是30秒

事務隔離級別:

@transactional(isolation = isolation.read_uncommitted)

讀取未提交資料(會出現髒讀, 不可重複讀) 基本不使用

@transactional(isolation = isolation.read_committed)

讀取已提交資料(會出現不可重複讀和幻讀)

@transactional(isolation = isolation.repeatable_read)

可重複讀(會出現幻讀)

@transactional(isolation = isolation.serializable)

序列化mysql: 預設為repeatable_read級別

sqlserver: 預設為read_committed

髒讀 : 乙個事務讀取到另一事務未提交的更新資料

不可重複讀 : 在同一事務中, 多次讀取同一資料返回的結果有所不同, 換句話說,

後續讀取可以讀到另一事務已提交的更新資料. 相反, 「可重複讀」在同一事務中多次

讀取資料時, 能夠保證所讀資料一樣, 也就是後續讀取不能讀到另一事務已提交的更新資料

幻讀 : 乙個事務讀到另乙個事務已提交的insert資料

那些人,那些事

很久沒有整理一下自己的思緒,聽著熟悉的歌,那歌聲會讓我想起那些人,那些事.乙個標點,乙個符號,乙個個早已在歲月深處冰封的眼神,一段沒有伴侶的歸途。一直以來我都認為我的人生就是這樣,平平淡淡,安安靜靜,波瀾不驚地在歲月的 眼角劃過,不留絲毫痕跡。現在看來,原來我寫的東西在很大程度上是是在滿足自己的某種...

那些人,那些事

一年前的今天,我大概和bi11一起奔波於各大招聘會上,白天各睡各的覺,晚上一起在工作室寫著程式 那時候似乎成都已經很冷,工作室有著溫暖的空調.而現在猛烈的陽光一件薄薄的襯衫真讓我不敢相信已經是十一月了.我在成都待了四年,說實話我不喜歡成都,不過還是有著很多讓人快樂的人和事給了我很多快樂的回憶.先說說...

那些人,那些事

回顧一下自己的it職業生涯,應該和大多數同僚一樣,從無知還有些自負的毛頭小子,到在技能上還算熟練,在性格上也變得成熟的奔三人士,在這個過程中給我最大的感覺就是越學習越發現自己懂得東西少,在職場上越來越感覺到僅僅靠技術層面上的提高是不能讓我們大多數人成功的。在自己目前的職業生涯中經歷過太多人太多事,大...