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) 富士通株式会社 2005