2010-01-18 17 views
2

我正在使用對象/關係映射器與數據庫交談。我的案例庫是iBatis,它也用於交易管理。 不過,我最近有iBatis的地方居然沒有啓動即使startTransaction()等被稱爲documented交易的情況。 經過一番調試後,我發現在我身邊有一個配置錯誤。如何聲明數據庫連接處於事務中?

有人可能會指責iBatis的,但我想在將來避免這種誤解。 所以這裏的問題:

如何以編程方式斷言當前數據庫連接正在事務中運行?

我使用的數據庫是Oracle,MySQL和H2(用於測試)。

回答

2

我不是100%確定這是否絕對錶示出現在TX中,但Connection.getAutoCommit()告訴您連接是否處於自動提交模式,其中自動提交「on」表示「沒有事務」。

有可能是其中這一說法不成立的情況下,但大多數基於JDBC的框架將使用該設置來控制交易。

+1

應該這樣做。 – 2010-01-19 00:41:57

相關問題