【发布时间】:2012-07-03 18:50:40
【问题描述】:
spring 和 mybatis 是否可以中断正在执行的 mybatis 数据库事务?
例子:
我有一个将数千条记录插入 Oracle SQL 数据库的应用程序。这大约需要 5 分钟。如果用户在插入记录时按下“停止”按钮,我想停止数据库事务并回滚更改。
一旦数据库过程使用事务管理器完成,我就可以回滚事务:
TransactionStatus status = txManager.getTransaction(def);
txManager.rollback(status)
但我无法在事务运行时中断它。
在 JDBC 中我只需要:PreparedStatement.cancel()
我曾尝试在 MyBatis 中获取此 PreparedStatement,但我认为不可能。
有没有人能解决这个问题?
【问题讨论】:
-
我也找不到这样做的方法。这将是一个很好的增强。
标签: spring transactions interrupt mybatis spring-transactions