2013-03-08 84 views
0

最近我得到了以下異常: org.springframework.dao.DeadlockLoserDataAccessException: PreparedStatementCallback;DeadlockLoserDataAccessException在執行JDBC BATCHUPDATE

當我的代碼中調用下面的方法就來了: int[] org.springframework.jdbc.core.JdbcTemplate.batchUpdate(String[] sql) throws DataAccessException

總之,執行批處理JDBC查詢我得到DeadlockLoserDataAccessException

現在即使它是運行時異常,我決定抓住它並重試。

但我不確定批處理中的查詢會發生什麼情況。他們全部都回滾了嗎?或拋出此異常之後的查詢不會執行,並且之前的所有查詢都已執行?

回答

0

您應該在事務之外捕獲死鎖異常。

如果您的事務管理器設置爲異常回滾,則批量中的所有查詢都將回滾。