事務的特徵以及Hibernate事務

2021-08-20 16:24:05 字數 889 閱讀 3620

事務應該具有4個屬性:原子性、一致性、隔離性、永續性。這四個屬性通常稱為acid特性。

hibernate封裝了jdbc和jta事務,應用程式可以繞過hibernate api,直接通過jdbc和jta的api來宣告事務。其中,jta可以用來處理分布式事務。

應用程式通過hibernate api宣告事務時,必須先獲得乙個session物件,每個session物件都包含乙個資料庫連線。

過程示例:業務邏輯層->從sessionfactory中獲取乙個session->session開啟事務->對資料庫進行操作->transaction提交->session關閉

對於同時執行的多個事務,當這些事務訪問資料庫中的相同資料時,如果沒有採取必要的隔離機制,就會導致各種併發問題。

各種隔離級別避免的併發問題

隔離級別

是否出現髒讀

是否出現不可重複讀

是否出現虛讀

是否出現第一類丟失更新

是否出現第一類丟失更新

read uncommited是是

是是是read commited否是

是否是repeatable read否否

是否否serializable否否

否否否

隔離級別越高,越能保證資料的完整性和一致性,但是對併發效能影響也越大。

對大多數應用程式,可以優先考慮把資料庫系統的隔離級別設定為 read commit,它能夠避免髒讀,而且還具有良好的併發效能。

配置我們在核心配置檔案中設定事務的隔離級別

......

name="hibernate.connection.isolation">2property>

......

session-factory>

MySQL事務以及特徵

1.什麼是事務?在現實生活中,我們往往會進行轉賬操作。轉賬可以分為兩部分完成,轉入和轉出,只要兩部分都完成了才算轉賬完成。在資料庫中,這個過程是由兩條sql語句來完成的,如果任意一方的語句沒有執行,會導致兩個賬號的資金不能同步。為了防止這種情況的發生,mysql引入了事務。所謂的事務就是針對資料庫的...

事務的特徵

事務的四個特性 acid 原子性 atomic 事務要麼被完全執行,要麼根本沒有執行 一致性 consistent 事務維護資料庫的一致性 隔離性 isolated 事務集合的併發執行與某個順序執行的效果一致 永續性 durable 事務提交後的效果是永久記錄在資料庫中的。相信概念上的東西都很容易讓...

MySQL事務四大特徵以及四種事務隔離級別

一 mysql事務的四大特性 acid 1.原子性 atomicity 原子性是指乙個事務的操作要麼全部成功,要麼全部失敗回滾。保證事務的操作成功則全部應用到資料庫,失敗則不能對資料庫產生任何影響。2.一致性 consistency 一致性是指事務必須從乙個一致性狀態轉換到另乙個一致性狀態。也就是乙...