一個數據庫批量處理中的事務問題

      前幾天在寫一段代碼時遇到了這樣一個問題,感覺比較奇怪。

      在jdbc中的Statement中有批量處理的功能,即addBatch()和executeBatch()方法,可用來一次提交多條數據庫操作命令,在中間我要想要保持事務性的話,用jdbc的本地事務,即將Connection的commit()和rollBack()應該是沒有問題的, 但我發現這僅僅是在Connection是在通過DriverManager獲得時纔好使,而如果這個Connection是通過DataSourc獲得時,即使你已作事務處理了,卻不好使,這就奇怪了,我想不通原因,google一些也沒什麼信息,難道大家都沒碰到過這樣的問題嗎?如果我要在後者情況下保持事務性,用JTA是可以的,即我不用JDBC的事務,換作JTA老作就可以了,但這需要用的上分佈式事務嗎?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章