java - 如何断言数据库连接在事务中?

标签 java database transactions ibatis

我正在使用对象/关系映射器与数据库对话。我的图书馆是iBatis这也用于事务管理。 然而,我最近有一个案例,即使 startTransaction() 等被称为 documented,iBatis 并没有真正开始一个事务。 . 经过一番调试,我发现是我这边的配置错误。

有人可能会责怪 iBatis,但我想在未来避免这样的误解。 那么问题来了:

我如何以编程方式断言当前数据库连接正在事务中运行?

我使用的数据库是 Oracle、MySQL 和 H2 (用于测试)。

最佳答案

我不是 100% 确定这是否绝对表示在 tx 中,但是 Connection.getAutoCommit()告诉您连接是否处于自动提交模式,其中自动提交“开启”表示“无事务”。

很可能存在此断言不成立的情况,但大多数基于 JDBC 的框架将使用该设置来控制事务。

关于java - 如何断言数据库连接在事务中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2089854/

相关文章:

php - 如何从具有特定条件的表中查找列名?

java mongodb更新特定于数组

Java JTable 与 JComboBox

php - 当用户登录网站时——我应该选择用户名和密码,还是只选择用户名?

php - Doctrine transactions - 计算未决请求的数量

c# - TransactionScope 在某些机器上自动升级到 MSDTC?

php - PayPal - 无法使用交易 ID (GetTransactionDetails API) 验证付款

java - 为什么无法创建新文件,路径或路径名分隔符是否正确?

java - iText-5.0.1 + 将PdfPTable的边框设为虚线

mysql - 我们可以为 mysql 和某些特定数据库保留相同的密码吗?