Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何断言数据库连接在事务中?_Java_Database_Transactions_Ibatis - Fatal编程技术网

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

Java 如何断言数据库连接在事务中?,java,database,transactions,ibatis,Java,Database,Transactions,Ibatis,我正在使用对象/关系映射器与数据库通信。在我的例子中,这个库也是用于事务管理的。 然而,我最近遇到一个案例,iBatis实际上并没有启动一个事务,即使startTransaction()etc.被称为。 经过一些调试后,我发现我这方面有一个配置错误 有人可能会责怪iBatis,但我希望今后避免这种误解。 所以问题是: 如何以编程方式断言当前数据库连接正在事务中运行? 我使用的数据库是Oracle、MySQL和(用于测试)。我不能100%确定这是否绝对表示处于发送状态,但会告诉您连接是否处于自动提

我正在使用对象/关系映射器与数据库通信。在我的例子中,这个库也是用于事务管理的。 然而,我最近遇到一个案例,iBatis实际上并没有启动一个事务,即使
startTransaction()
etc.被称为。 经过一些调试后,我发现我这方面有一个配置错误

有人可能会责怪iBatis,但我希望今后避免这种误解。 所以问题是:

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


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

我不能100%确定这是否绝对表示处于发送状态,但会告诉您连接是否处于自动提交模式,其中自动提交“开”表示“无事务”

在某些情况下,这个断言可能不成立,但大多数基于JDBC的框架将使用该设置来控制事务