Interstage Application Server J2EE ユーザーズガイド |
目次 索引 |
第3部 EJB編 | > 第12章 Entity Beanの実装 | > 12.6 BMPのEnterprise Beanクラスの作成 |
ejbFindByPrimaryKeyメソッドは、プライマリキーを返却するメソッドです。
Entity Beanを呼び出すEJBアプリケーションがfindByPrimaryKeyメソッドを呼び出すと、コンテナはfindByPrimaryKeyメソッドに対応するejbFindByPrimaryKeyメソッドを呼び出します。
ejbFindByPrimaryKeyメソッドには、以下の処理を記述します。引数にはプライマリキーオブジェクトを指定します。
ejbFindByPrimaryKeyメソッドは以下の規約を満たしていなければなりません。
public SampleBeanPrimaryKey ejbFindByPrimaryKey(SampleBeanPrimaryKey SampleBeanPrimaryKeyValue) throws javax.ejb.FinderException, javax.ejb.ObjectNotFoundException, javax.ejb.EJBException
{ Connection connection = null; PreparedStatement psSelect = null; ResultSet rs = null; int rows = 0; SampleBeanPrimaryKey pk = null; try { // プライマリキーの検索 connection = dataSource.getConnection(); psSelect = connection.prepareStatement("SELECT ID FROM SAMPLESCM.SAMPLETBL WHERE ID = ?"); psSelect.setObject(1,SampleBeanPrimaryKeyValue.code); rs = psSelect.executeQuery(); while(rs.next()) { rows++; // プライマリキーオブジェクトの作成 pk = new SampleBeanPrimaryKey(); pk.code = new Integer(rs.getInt(1)); } } catch(SQLException e) { throw new EJBException(e.getMessage()); } finally { try { if (rs != null) rs.close(); if (psSelect != null) psSelect.close(); if (connection != null) connection.close(); } catch(Exception e) {} } if (rows == 0) { throw new ObjectNotFoundException ("No Record Found"); } else if (rows > 1) { throw new FinderException ("Many Records Found"); } return pk; }
目次 索引 |