JSTL SQLライブラリ - <sql:transaction>タグ

<sql:query>サブタグおよび<sql:update>サブタグのトランザクション・コンテキストを設定します。

構文

<sql:transaction [dataSource=”dataSource”]
    [isolation=isolationLevel]>
    <sql:query> and <sql:update> statements
</sql:transaction>
isolationLevel ::= "read_committed"
            |"read_uncommitted"
            |"repeatable_read"
            |"serializable"

ボディ・コンテンツ

JSP。JSPコンテナがボディ・コンテンツを処理し、現在のJspWriterに結果を書き込みます。アクションはボディ・コンテンツを無視します。

属性

dataSource
アクセス対象のデータベースに関連付けられているDataSourceString値は、JNDIリソースへの相対パス、またはJDBCのDriverManager機能のパラメータを表します。
isolation
トランザクション分離レベル。指定しない場合、DataSourceが構成されている分離レベルになります。

制約

NULLおよびエラーの処理

説明

<sql:transaction>アクションは、ネストされた<sql:query>アクションおよび<sql:update>アクションをトランザクションにグループ化します。

トランザクション分離レベルはjava.sql.Connectionで定義されます。

<sql:transaction>アクションのタグ・ハンドラは、そのライフ・サイクル・メソッドで次の手順を実行する必要があります。

Connectionオブジェクトは、<sql:query>について説明されているのと同じ方法で取得および管理されます(http://www.jcp.org/aboutJava/communityprocess/first/jsr052/index.htmlにある『JavaServer Pages Standard Tag Library 1.0 Specification』の10.3項を参照)。ただし、親タグからは取得されません(<sql:transaction>タグをConnectionの伝播手段としてネストすることはできません)。

<sql:transaction>タグ・ハンドラは、例外を捕捉すると、JDBC Connectioncommit()メソッドおよびrollback()メソッドをそれぞれ使用して、トランザクションのコミットとロールバックを行います。<sql:update>を使用した対応するSQL文(たとえば<sql:update sql="rollback" />など)を<sql:transaction>要素のボディで実行することはサポートされていないため、そのような処理を行った場合の結果は予測できません。

大規模なJTAユーザー・トランザクションのコンテキストで<sql:transaction>アクションを実行した場合の動作は定義されていません。


JDeveloperのJSTLタグ・ライブラリについて
リファレンス: JavaServer Pages標準タグ・ライブラリ(JSTL)

 

Copyright © 1997, 2004, Oracle. All rights reserved.