エンティティ Bean の各インスタンスは通常、リレーショナル データベースの行に対応します。つまり、BMP EJB の必須メソッドでは、そのメソッドに適切なデータベース アクセスを実行する必要があることを意味します。これらのデータベース操作の実行時に JRun データ ソースを使用できます。JRun データ ソースを使用すると、JDBC ドライバへの変更からコードが保護され、接続プールも提供されます。
次のスニペットは、JRun データ ソースのアクセスに使用するコードを示します。
...
try {
// コンテキストのインスタンスを作成します。
Context ctx = new InitialContext();
// java:comp/env/jdbc/jdbc-datasource-name からデータ ソースを取得します。
// JMC の JDBC データ ソース名を定義します。
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/source1");
// データベース ロジックを続行します。
// この例は ejbLoad メソッドからの引用です。
Connection connection = ds.getConnection();
try {
Statement statement = connection.createStatement();
// _context は EntityContex を保持する Bean レベルの変数です。
// SetEntityContext メソッドによって設定されます。
ResultSet results =
statement.executeQuery("SELECT value FROM account WHERE id = " +
_context.getPrimaryKey());
results.next();
// _value は データベースから取得された
// 「value」列を保持する Bean レベルの変数です。
_value = results.getInt(1);
results.close();
statement.close();
}
finally {
connection.close();
}
}
catch (Exception e) {
throw new EJBException(e);
}
...
|
メモ EJB エンジンには、JRun データ ソースの使用に代わるプロパティファイル ベースの メソッドが含まれています。スタンドアロン モードで EJB エンジンを実行する場合、 代わりにこのメソッドを使用できます。詳細については、『JRun 拡張設定ガイド』を 参照してください。 |