カーソル保持機能 (Cursor holdability) は、リレーショナル・データベースとの JDBC の対話のオーバーヘッドを減少させるため、
アプリケーション・パフォーマンスの向上につながります。
カーソル保持機能 (Cursor holdability) を活動化することにより、ユーザーはトランザクションの境界を越えて使用可能な結果セットを保持し、複数の JDBC 呼び出しで使用できるようにすることができます。
保持機能の設定はデータベースのカーソルを起動し、新規値または結果セットを生成したトランザクションの確定を超えて新たに更新した行をアクティブのまま保持します。
このようにして、カーソルは結果セットを以降のトランザクションのステートメントで使用できるようにします。
カーソル保持機能 (Cursor holdability) の設定
以下のいずれかの技法を使用して、カーソル保持機能 (Cursor holdability) を設定します。
詳細については、Sun Microsystems, Inc. の Web サイト (
http://java.sun.com) で入手できる JDBC 3.0 仕様を参照してください。
接続とトランザクションの動作のカーソル保持機能 (Cursor holdability) への影響
WebSphere Application Server でカーソル保持機能 (Cursor holdability) を設定すると、異なるトランザクション・イベントについて次の動作が起こります。
- 接続がクローズされると、すべてのステートメントおよび結果セットは、カーソル保持機能 (Cursor holdability) を設定してあってもクローズされます。
- トランザクションをロールバックすると、すべての結果セットはカーソル保持機能 (Cursor holdability) を設定してあってもクローズされます。
- ローカル・トランザクションをコミットすると、共用可能および共用不能の両方の接続が、トランザクションの境界を越えてオープンな結果セットを持つことができます。
- グローバル・トランザクションをコミットすると、共用不能な接続がトランザクションの境界を越えてオープンな結果セットを持つことができます。
共用可能な接続の場合、ステートメントおよび結果セットは、カーソル保持
機能 (Cursor holdability) を設定してあってもクローズされます。カーソル
保持機能 (Cursor holdability) の値は、グローバル・トランザクションに
参加している共用可能接続に影響しません。
- ローカル・トランザクションの有効範囲が終了すると、メソッド・レベルまたはアクティビティー・セッション・レベルのいずれかで、共用可能な接続のすべてのステートメントおよび結果セットがクローズされます。
共用できない接続のステートメントおよび結果セットは、クローズ・メソッドが接続で呼び出されるまでオープンのまま残ります。
注: 共用不可接続とのグローバル・トランザクションの場合は、バックエンド・データベースがカーソル保持機能 (Cursor holdability) のサポートを担当します。