エンティティ 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 拡張設定ガイド』を 参照してください。 |