Interstage Application Server/Interstage Web Server J2EE ユーザーズガイド
目次 索引 前ページ次ページ

第3部 EJB編> 第10章 EJBサービスの機能> 10.2 Entity Beanの実行環境

10.2.5 Entity Beanとデータベースの対応

 一般的に、Entity Beanのクラスは、リレーショナルデータベースのテーブルに、Entity Beanのインスタンスは、そのテーブル内の行(レコード)に、それぞれマッピングされます。
 以下にEntity Beanとリレーショナルデータベースのマッピング例を示します。

 Entity Beanのオブジェクトを操作することにより、対応するデータベース処理を行うことができます。
 以下にオブジェクトの操作とデータベース処理の対応を示します。

オブジェクトの操作

対応するデータベース処理

発行するデータベース操作文

オブジェクトの生成

新しいレコードが追加される

INSERT文

オブジェクトの削除

レコードが削除される

DELETE文

オブジェクトの呼出し

レコードの検索または、更新
(レコードの更新は、トランザクションの終了時に行われます。)

SELECT文(検索の場合)
UPDATE文(更新の場合)

【検索メソッド】

 以下のメソッドを使用して、データベースの操作を行います。

 Entity Beanのインスタンスについては、“チューニングガイド”の“EJBコンテナのチューニング”を参照してください。

■CMP2.0の更新データの一貫性保証

 CMP2.0 Entity Beanで、同一データに対して複数から更新処理を実行する場合に、データの整合性が保証できず、デッドロックエラーが発生することを抑止するCMP2.0の更新データの一貫性保証機能を使用できます。

 デッドロックエラーを抑止するためにデータベースでは、テーブルを検索するSELECT文にFOR UPDATE句を付加して検索した行に更新ロックをかけることで、同一レコードに複数トランザクションからアクセスする場合の検索から更新までのデータの一貫性を保証します。
 更新ロックとは、検索処理時に参照した行にロックをかけることで、トランザクション処理が完了するまでデータの一貫性を保証するものです。
 更新ロックされた行は、別のトランザクションでは参照できません。

 CMP2.0 Entity Bean単位で行の更新ロックを使用すると、コンテナがデータベースに検索処理を実行する以下の処理で、更新ロックがかかります。

 設定は、Interstage管理コンソールの[システム] > [ワークユニット] > “ワークユニット名” > “モジュール名” > “Bean名” > [アプリケーション環境定義]の「CMFマッピング定義」で行います。デフォルトは“しない”です。

 詳細はInterstage管理コンソールのヘルプを参照してください。

 本機能使用時にデッドロックエラーが発生した場合は、“トラブルシューティング集”の“EJBサービス使用時の異常”の“デッドロックが発生する場合”を参照してください。


目次 索引 前ページ次ページ

Copyright 2008 FUJITSU LIMITED