Interstage Application Server J2EE ユーザーズガイド
目次 索引 前ページ次ページ

第3部 EJB編> 第9章 EJBサービスの機能> 9.2 Entity Beanの実行環境

9.2.7 EJB QL

 EJB QLとは、finderメソッドまたはejbSelectメソッドなど検索メソッドのクエリ文を定義するためのSQL92ベースの言語です。
 一般的に使用するSQLとの最大の違いは、SELECT型にEntity Beanの識別子だけが単独で指定されている場合に指定するOBJECTキーワードです。

 EJB QLは抽象スキーマ名に基づいて記述されるので、特定のデータベースに依存しない互換性があります。抽象スキーマ名は、CMP/CMRフィールドに並んで抽象永続スキーマを構成する重要な構成要素です。

image
 抽象スキーマ名は、ejb-jar内で一意になるようにしてください。

 EJB QLを使用するには、deployment descriptor内の<query>タグにEJB QL文を記述します。
 EJBアプリケーションのdeployment descriptorの情報が定義されているファイル(ejb-jar.xml)は、XML形式で記述する必要があります。このため、ejb-jar.xmlを編集する場合は、XML形式の仕様に従ってください。

 特に以下の文字については、定義済み実体参照(暗黙定義エンティティ)で記述してください。

 EJB QLが使用できるのは、CMP2.0のEntity Beanです。

ejb-jar.xmlを編集する場合

編集する文字

定義済み実体参照

<

&lt;

>

&gt;

&

&amp;

'

&apos;

"

&quot;

◆ SELECT句

 返却値の値としてOBJECT(Entity Bean)、またはパス式を使ってCMF、CMRフィールドを指定できます。

◆ FROM句

 EJBアプリケーションのクラス名ではなく、Entity Bean内に記述された一意の"抽象スキーマ名"を指定します。

◆ WHERE句

 検索条件の指定を行います。例えば ?1は、検索メソッドのパラメタの1番目を意味します。
 Entity Beanの検索メソッドにはfinderメソッド、またはejbselectメソッドがあります。それぞれの検索メソッドにおいてメソッド名、パラメタの型を指定してください。
 また、メソッドの返却値の型をマッピングするために、結果のタイプにLocalまたはRemote要素を指定します。デフォルト値はLocalです。

■検索メソッド

■ EJB QL定義

◆ EJB QLで使用できる演算子

 以下にEJB QLで使用できる演算子を示します。

SELECT、 FROM、 WHERE、 DISTINCT、 OBJECT、 NULL、 TRUE、 FALSE、 NOT、 AND、 
OR、 BETWEEN、LIKE、 IN、 AS、 UNKNOWN、 EMPTY、 MEMBER、OF、 IS

◆ EJB QLの使用例

image
演算子を使用したEJB QL文の例です。

SELECT句

WHERE句

 FROM句で検索された値に対しWHERE句を使用して、いろいろな条件テストが指定できます。

image

 より詳細なEJB QLの使用方法については、EJB2.0の仕様書を参照してください。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2006