直接来自此API


Savepoint setSavepoint(String name) throws SQLException


在当前事务中使用给定名称创建一个保存点,并返回代表该保存点的> new Savepoint对象。

如果在活动事务之外调用setSavepoint,则将在此新创建的保存点处启动事务。


我不清楚最后一部分:

“如果在活动事务之外调用setSavepoint,则将在此新创建的保存点处启动事务”?

在活跃交易之外?那是什么意思?

最佳答案

JDBC规范详细说明了何时开始事务(例如,何时执行语句且没有活动事务)以及何时结束事务(在commit,rollback上,或者-当启用autocommit时)在语句完成之后(在执行之后) ,或检索结果集的最后一行)或执行另一条语句时。

您引用的api文档只是意味着,当您调用setSavePoint()并且没有活动的事务时,驱动程序将启动一个事务(假设支持保存点),并且将创建一个保存点。

10-04 18:14