执行jdbc batchUpdate时出现DeadlockLoserDataAccessException

时间:2013-03-08 12:53:58

标签: mysql jdbc spring-jdbc database-deadlocks

最近我遇到以下异常: org.springframework.dao.DeadlockLoserDataAccessException: PreparedStatementCallback;

当我的代码调用以下方法时: int[] org.springframework.jdbc.core.JdbcTemplate.batchUpdate(String[] sql) throws DataAccessException

简而言之,我在执行批处理jdbc查询时得到DeadlockLoserDataAccessException

现在即使它是一个运行时异常,我决定抓住它并重试。

但我不确定批处理中的查询会发生什么。他们所有人都回滚了吗?或抛出此异常后的查询未执行,并且执行此操作之前的所有查询?

1 个答案:

答案 0 :(得分:0)

您应该在事务之外捕获死锁异常。

如果您的事务管理器设置为异常回滚,则将回滚批处理中的所有查询。