2012-11-07 165 views
0

我在事務中存在一些數據庫操作。我正在設置實體對象,並嘗試使用session.merge(object)保存它們。但由於某些約束交易失敗。我提供了一個異常處理程序,我在其中再次設置同一個對象並嘗試提交它。我的問題是,在失敗的交易之後,我之前設定的價值是否仍然存在於對象中。再次提交失敗的事務

+0

你爲什麼不試試它?據我所知,該對象不會改變。 –

回答

0

我沒有看到事務回滾會改變實體狀態的理由。回滾的整個想法是將系統重置爲交易開始前的最後一個狀態。

+0

我想問的是,一旦失敗,我不會回滾事務。所以沒有回滾的對象將保持完整的交易失敗前設置的值? – Naman

+0

? AFAIK,一旦交易失敗,交易總是回滾。這就是我們做交易的原因。全部或全部(=回滾) –