5.3.10 事务

事务始终是自动的或显式的。如果是自动的(自动提交),则每个操作都作为自动提交的新事务的一部分执行。

开始、提交和回滚事务

begin();

开始事务。不需要参数。如果事务已经处于活动状态,则会抛出异常。

commit(Function(Object error) callback);

提交事务。

此方法将其唯一的参数作为 回调 函数,该函数返回一个错误对象。

rollback(Function(Object error) callback);

回滚事务。错误在 回调 函数中报告。

事务信息方法

Boolean isActive();

确定给定事务当前是否处于活动状态。如果事务处于活动状态,则返回 true,否则返回 false。

isActive() 不需要参数。

setRollbackOnly();

将事务标记为仅回滚。完成后,commit() 将回滚事务并抛出异常;rollback() 将回滚事务,但不会抛出异常。要将事务标记为仅回滚,请调用 setRollbackOnly() 方法,如下所示。

此方法是单向的;标记为仅回滚的事务不能取消标记。在自动提交模式下调用 setRollbackOnly() 会抛出异常。此方法不需要参数。

boolean getRollbackOnly();

确定事务是否已标记为仅回滚。如果事务已如此标记,则返回 true。setRollbackOnly() 不需要参数。