ページの先頭行へ戻る
Symfoware Server V12.1.x アプリケーション開発ガイド(JDBCドライバ編)
FUJITSU Software

2.3.4 独立性水準

独立性水準

トランザクションの独立性水準は、setTransactionIsolationメソッドで変更することができます。データベースとのコネクションを接続した直後は、独立性水準はSERIALIZABLEとなっています。ただし、行単位の排他を使用している場合、トランザクションの独立性水準にSERIALIZABLEと指定しても、REPEATABLE READとして扱います。

トランザクションの独立性水準は、トランザクションの継続中に変更することはできません。必ずトランザクションが終了している状態で変更してください。

トランザクションの独立性水準をREAD UNCOMMITTEDに変更する例を以下に示します。

Connection cnct = DataSource.getConnection();
cnct.setAutoCommit(false);
cnct.setTransactionIsolation(java.sql.Connection.TRANSACTION_READ_UNCOMMITTED);
        :
cnct.commit();

default_isolationオプション

default_isolationオプションを指定することで、データベースコネクト時に、トランザクションの独立性水準の初期値を変更することができます。

default_isolationオプションは、運用時のチューニングパラメタとして使用してください。

default_ isolationオプションの詳細については、“5.2.4.3 オプションの設定”または“B.2 getConnectionメソッドのオプション”を参照してください。

注意

  • アプリケーション内でsetTransactionIsolationメソッドを使用して独立性水準が変更された場合、setTransactionIsolation メソッドで指定された値が有効になります。

  • Connection.closeメソッドを実行後、getConnectionメソッドで再度接続した場合も、独立性水準の値はdefault_ isolationオプションで指定された値で動作します。

占有モード指定

JDBCドライバを利用したアプリケーションから、占有モードを設定することができます。占有モード指定とは、SQL文単位に読み込んだデータベース資源に対して、占有モードを設定することができる機能です。

参照

占有モード指定の詳細については、“SQLリファレンス”を参照してください。