Criteria API

Criteria API は、Java™ Persistence Query Language (JPQL) 照会のストリングを作成する代替方法として、Java オブジェクトを使用して照会を作成するための API です。

Criteria API では、実行時に照会を動的に作成できます。また、コンパイラーによる検証が可能なタイプ・セーフな照会を作成することもできます。JPQL 照会の正確さはコンパイラーでは検証できないため、テスト中の実行時に検証する必要があります。

就業年数が 5 年未満の従業員のリストを戻すサンプル JPQL 照会を以下に示します。
SELECT e FROM Employee e WHERE e.serviceyears < 5
同等の Criteria 照会のサンプルを以下に示します。
QueryBuilder qb = emf.getQueryBuilder();
CriteriaQuery q = qb.create(Employee.class);
Root e = q.from(Employee.class);
q.where(qb.lt(e.get(Employee_.serviceyears), 5));
TypedQuery tq = em.createQuery(q);
List result = q.getResultList();
注: Employee_ は、Employee クラスのメタモデルです。
JPQL の 2 つの重要な機能が改善されました。
  • Criteria API では、JPQL では表現できない照会を表現できます。詳しくは、developerWorks® の記事『Dynamic, typesafe queries in JPA 2.0』の『Editable data store expressions』セクションを参照してください。
  • CriteriaQuery はプログラマチックに編集できます。詳しくは、developerWorks の記事『Dynamic, typesafe queries in JPA 2.0』のセクション『Editable query』を参照してください。

トピックのタイプを示すアイコン 参照トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rejb_criteriaapi
ファイル名:rejb_criteriaapi.html