0

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

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

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

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

但我不确定批处理中的查询会发生什么。他们都回滚了吗?或者抛出这个异常之后的查询没有被执行,并且在这个之前的所有查询都被执行了?

4

1 回答 1

0

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

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

于 2014-01-24T01:19:20.287 回答