1. 程式人生 > >Hibernate中的事務概念及其支援的事務型別

Hibernate中的事務概念及其支援的事務型別

對於一個持久化框架,或者說ORM軟體,事務的概念可能包含如下不同的內涵:
  • 底層資料庫的物理事務
  • 持久化上下文字身的邏輯事務
  • 基於持久化框架的上層應用事務

對於底層資料庫的物理事務,這依賴於資料庫管理系統本身提供的事務功能。對於Hibernate來說,只是封裝了JDBC連線資料庫或JTA資料庫資源,Hibernate本身不提供額外的任何事務機制。因而,Hibernate只支援JDBC事務和JTA事務。

在Hibernate的配置檔案中,可以設定引數宣告採用的事務型別如下:

hibernate.transaction.coordinator_class=jdbc|jta

該引數的值為jdbc(預設)或jta,二者取其一。

顯然,JDBC事務是依賴java.sql.Connection實現的事務。

對於JTA事務,Hibernate需要知道其使用的JTA服務平臺,這通過如下引數配置:

hibernate.transaction.jta.platform=JBossAS