0
我們有一個servlet來處理許多併發請求,有時候一些請求會拋出異常。只見從休眠指導這樣的警告:Hibernate中的事務每會話或每事務查詢模式?
「如果Session拋出異常,包括任何的SQLException, 立即回滾數據庫事務,調用Session.close() ,丟棄該Session實例。」
在我的真實場景中,請求已經對數據庫進行了許多重要更改,當我們發現異常時,我們必須回滾之前所做的所有更改。
因此,我們似乎必須實現事務每請求模式,而不是事務每查詢,以確保所有更改都將被回滾。
是嗎?
這種模式的性能和併發環境中的可伸縮性如何?我發現每筆交易都會有很多查詢。但是Hibernate指南說: 「爲了減少數據庫中的鎖爭用,數據庫事務必須儘可能短。」 – QuangHD 2012-07-28 11:31:55