Spring事務中的readonly

2022-09-15 18:45:16 字數 535 閱讀 8229

spring的事務經常會有這樣的配置:

或者這樣的註記:

@transactional(readonly = true)

原因:

「唯讀事務」並不是乙個強制選項,它只是乙個「暗示」,提示資料庫驅動程式和資料庫系統,這個事務並不包含更改資料的操作,

那麼jdbc驅動程式和資料庫就有可能根據這種情況對該事務進行一些特定的優化,

比方說不安排相應的資料庫鎖,以減輕事務對資料庫的壓力,畢竟事務也是要消耗資料庫的資源的。

1 readonly並不是所有資料庫都支援的,不同的資料庫下會有不同的結果。

2 設定了readonly後,connection都會被賦予readonly,效果取決於資料庫的實現。

3 在orm中,設定了readonly會賦予一些額外的優化,例如在hibernate中,會被禁止flush等。

Spring中的事務

事務的acid原則 一致性 consistency 隔離性 isolation 永續性 durability spring在不同的事務管理api之上定義了乙個抽象層,使得開發人員不必了解底層的事務管理api就可以使用spring的事務管理機制。spring支援程式設計式事務管理和宣告式的事務管理。程...

spring中的事務控制

我們之前學了動態 而關於實物這塊,在每個service方法中總就那麼幾句話,而且地方也是固定的,所以我們也考慮用動態 來解決它,只是在spring中,框架已經為我們寫好了通知類,我們直接配置就好了,跟之前aop配置稍微有點不同,事務有它自己的配法,不過也差不多,看 這是我寫的乙個方法,模擬轉賬 pu...

Spring中的事務控制

一般而言,使用者的每次請求都對應乙個業務邏輯方法,並且每個業務邏輯方法往往具有邏輯上的原子性。此外,乙個業務邏輯方法往往包括一系列資料庫原子訪問操作,並且這些資料庫原子訪問操作應該繫結成乙個整體,即要麼全部執行,要麼全部不執行,通過這種方式我們可以保證資料庫的完整性,這就是事務。總的來說,事務是乙個...