トランザクション・オブジェクトについて

トランザクション・オブジェクトはOracle ADF Business Componentsオブジェクトの1つで、データベース・トランザクションを表します。トランザクション・オブジェクトは、エンティティ・キャッシュおよびビュー・キャッシュへのポインタを保持し、データベース接続を維持し、またポスト、コミットおよびロールバックを実行します。

トランザクション・オブジェクトは、データベース・トランザクションとは異なり、コミット操作およびロールバック操作後も存続します。したがって、1つのトランザクション・オブジェクトがその存続期間を通じていくつかのデータベースに対応する場合があります。

トランザクション・オブジェクトの取得方法は、「トランザクション・オブジェクトの取得」を参照してください。

トランザクション・オブジェクトとアプリケーション・モジュール

通常は、ルート・レベルのアプリケーション・モジュール・インスタンスごとに(ネストされていない状態で)正確に1つのトランザクション・オブジェクトがあります。トランザクション・オブジェクトにルート・レベルのアプリケーション・モジュール・インスタンス、ネストされたアプリケーション・モジュールまたはそのキャッシュ内のエンティティ・オブジェクト・インスタンスからアクセスすると、同じオブジェクトが取得されます。トランザクション・オブジェクトに2つのルート・レベルのアプリケーション・モジュール・インスタンスからアクセスすると、異なるオブジェクトが取得されます。

コンテナ管理トランザクション(CMT)を使用するルート・レベルのアプリケーション・モジュールは、この規則の例外です。CMTを使用する2つのルート・レベルのアプリケーション・モジュールでは、トランザクション・オブジェクトを共有できます。詳細は、関連項目のトピックを参照してください。

トランザクション・オブジェクト・クラスおよびインタフェース

Oracle ADF Business Components層では、トランザクション・オブジェクトはクラスoracle.jbo.server.DBTransactionImplのインスタンスによって実装されます。ところが、ほとんどのアプリケーションでは、このクラスは直接的には使用されません。oracle.jbo.Transactionまたはoracle.jbo.server.DBTransactionの2つのインタフェースのいずれかが使用されます。

Transactionインタフェースはクライアントまたはアプリケーション・モジュール・インスタンスからアクセスでき、アプリケーションで通常必要となるほとんどのメソッドが含まれています。DBTransactionインタフェース(Transactionインタフェースの拡張)はエンティティ・オブジェクト・インスタンスからアクセスでき、追加のメソッドが含まれています。DBTransactionインタフェースでのみ利用可能なメソッドに関する情報は、Javadocを参照してください。


トランザクションの管理
Oracle ADFアプリケーション・モジュールについて
Oracle ADFエンティティ・オブジェクトについて
コンテナ管理トランザクションおよびBean管理トランザクションについて
トランザクション内のすべての未検証行の検証
トランザクションのコミットおよびロールバック
コミットを伴わないデータのポスト
JDBC接続の接続と切断