libro
www.tuyano.com
初心者のためのJava Persistence API入門

Criteria APIの利用 (3/6)

作成:2017-10-28 10:07
更新:2017-10-28 10:07

■whereによる条件設定

全エンティティを取得するならば、前ページの処理で完成ですが、必要なものだけを絞り込んで取り出したい場合、そのためのメソッドを用意する必要があります。それは「where」です。
[CriteriaQuery] .select(root).where( [Predicate] );

whereは、selectメソッドの後にメソッドチェーンの形で記述するのが一般的です。whereの引数であるPredicateは、CriteriaBuilderにあるメソッドを使って作成します。この「式を組み立てるためのメソッド」を覚えることが、where活用のための第一歩といえるでしょう。

・=演算
[CriteriaBuilder] .equal ( [Predicate] , [Object] );
第1引数で指定したものと第2引数のオブジェクトが等しいかどうかを調べます。「○○ = ××」式に相当するものです。

・<>演算
[CriteriaBuilder] .notEqual ( [Predicate] , [Object] );
第1引数で指定したものと第2引数のオブジェクトが等しくないかどうかを調べます。「○○ <> ××」式に相当するものです。

・>、>=演算
[CriteriaBuilder] .gt ( [Predicate] , [Object] );
[CriteriaBuilder] .ge ( [Predicate] , [Object] );
gtは「○○ > ××」、geは「○○ >= ××」式に相当するものです。やはり第1引数と第2引数を比較します。

・<、<=演算
[CriteriaBuilder] .lt ( [Predicate] , [Object] );
[CriteriaBuilder] .le ( [Predicate] , [Object] );
ltは「○○ < ××」、leは「○○ <= ××」式に相当するものです。第1引数と第2引数を比較します。

・like演算
[CriteriaBuilder] .like ( [Predicate] , [Object] );
SQLのlikeに相当するものです。第1引数で指定したものと第2引数のオブジェクトをlike演算します。

・is null、is not null演算
[CriteriaBuilder] .isNull ( [Predicate] );
[CriteriaBuilder] .isNotNull ( [Predicate] );
第1引数がnullか、あるいはnullでないかを調べるものです。

・is empty、is not empty演算
[CriteriaBuilder] .isEmpty ( [Predicate] );
[CriteriaBuilder] .isNotEmpty ( [Predicate]
);第1引数が空か、あるいは空でないかを調べるものです。

・between演算
[CriteriaBuilder] .between ( [Predicate] , [Object] , [Object] );
第1引数で指定したものと第2引数~第3引数の間に含まれているかどうかを調べます。

・and/or演算
[CriteriaBuilder] .and ( [Predicate] , [Predicate] );
[CriteriaBuilder] .or ( [Predicate] , [Predicate] );
2つの式(Predicate)をつなぐためのものです。andは両方がtrueならばtrue、そうでなければfalse。orは両方がfalseならばfalse、そうでなければtrue。

・not演算
[CriteriaBuilder] .not ( [Predicate] );
引数の反転した値を得るものです。引数の値がtrueならばfalse、falseならばtrue。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

※関連コンテンツ

「初心者のためのJava Persistence API入門」に戻る