Interstage Application Server J2EE ユーザーズガイド
|
目次
索引

|
12.8.9 ejbselectメソッドの記述
ejbselectメソッドを使用することで、finderメソッドと同様に特定のインスタンス、またはインスタンスの集合を検索できます。
■ ejbselectメソッドの特徴
- ejbselectメソッドは、finderメソッドと異なりHomeインタフェースに宣言しないため、クライアントアプリケーションまたはほかのEJBアプリケーションから呼び出すことはできません。
- ejbselectメソッドはCMPフィールド値を返却することができます。複数のリファレンスを返却する場合は、戻り値の型としてjava.util.Collection型を使用できます。
- ejbselectメソッドはrelationshipがあるBeanのインタフェース、またはそのコレクションを返却できます。
- ejbselectメソッドは集合関数の結果を返却できます。
- ejbselectメソッド内からデータベースアクセスを行うには、deployment descriptorに定義されたEJB QLを使用します。
- ejbHomeメソッド内よりejbselectメソッドを使用することにより、データベースへのアクセスをより簡単に行うことができます。
◆ ejbSelectメソッドの返却値について
- Enterprise BeanのRemoteまたはLocalインタフェースタイプを返却できます。そのインタフェースのコレクションを返却する場合は、インタフェースタイプ(RemoteまたはLocal)をdeployment descriptorに指定します。それ以外の場合は、インタフェースタイプを指定する必要はありません。

java.util.Set型を戻り値に持つejbselectメソッドを使用することはできません。
◆ ejbselectメソッドの利用個所について
- ejbselectメソッドはEnterprise Beanクラス内ならejbHomeメソッドだけでなくビジネスメソッド、ejbLoadメソッドおよびejbStoreメソッドからも利用できます。
■ ejbselectメソッドの規約
ejbselectメソッドは以下の規約を満たしていなければなりません。
- メソッド名はejbselectで始まらなければなりません。
- メソッドはpublicとして定義されていなければなりません。
- メソッドはabstractとして定義されていなければなりません。
- throws句には、javax.ejb.FinderExceptionを定義する必要があります。
■ 記述例
Enterprise Beanには以下のように記述します。
public abstract class CustomerBean implement javax.ejb.EntityBean{
public abstract java.util.Collection ejbSelectOrders(int priority)
throws javax.ejb.FinderException;
}
All Rights Reserved, Copyright(C) 富士通株式会社 2006