0

このAPIから直接:

Savepoint setSavepoint(String name) throws SQLException

現在のトランザクションで指定された名前のセーブポイントを作成し、それを表す >new Savepoint オブジェクトを返します。

setSavepointがアクティブなトランザクションの外で呼び出された場合、トランザクションはこの新しく作成されたセーブポイントで開始されます。

最後の部分がはっきりしません:

「setSavepoint がアクティブなトランザクションの外で呼び出された場合、トランザクションはこの新しく作成されたセーブポイントで開始されます」?

アクティブなトランザクション外ですか? それはどういう意味ですか?

4

1 に答える 1

1

JDBC 仕様では、いつトランザクションを開始するか (たとえば、ステートメントが実行され、アクティブなトランザクションがない場合) と終了する必要があるとき (コミット時、ロールバック時、または - 自動コミットが有効な場合 - ステートメントの完了後 (実行後) について詳しく説明しています。 、または結果セットの最後の行を取得するとき)、または別のステートメントが実行されたとき。

引用するAPIドキュメントは、呼び出したときにsetSavePoint()アクティブなトランザクションがない場合、ドライバーがトランザクションを開始し(セーブポイントがサポートされていると仮定)、セーブポイントが作成されることを意味します。

于 2013-09-06T14:35:32.333 に答える