| 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;
}
目次
索引
![]()
|