直接来自此API:
Savepoint setSavepoint(String name) throws SQLException
在当前事务中使用给定名称创建一个保存点,并返回代表该保存点的> new Savepoint对象。
如果在活动事务之外调用
setSavepoint
,则将在此新创建的保存点处启动事务。我不清楚最后一部分:
“如果在活动事务之外调用setSavepoint,则将在此新创建的保存点处启动事务”?
在活跃交易之外?那是什么意思?
最佳答案
JDBC规范详细说明了何时开始事务(例如,何时执行语句且没有活动事务)以及何时结束事务(在commit,rollback上,或者-当启用autocommit时)在语句完成之后(在执行之后) ,或检索结果集的最后一行)或执行另一条语句时。
您引用的api文档只是意味着,当您调用setSavePoint()
并且没有活动的事务时,驱动程序将启动一个事务(假设支持保存点),并且将创建一个保存点。