Criteria APIの利用 (3/6)
作成:2017-10-28 10:07
更新:2017-10-28 10:07
更新:2017-10-28 10:07
■whereによる条件設定
全エンティティを取得するならば、前ページの処理で完成ですが、必要なものだけを絞り込んで取り出したい場合、そのためのメソッドを用意する必要があります。それは「where」です。
whereは、selectメソッドの後にメソッドチェーンの形で記述するのが一般的です。whereの引数であるPredicateは、CriteriaBuilderにあるメソッドを使って作成します。この「式を組み立てるためのメソッド」を覚えることが、where活用のための第一歩といえるでしょう。
・=演算
・<>演算
・>、>=演算
・<、<=演算
・like演算
・is null、is not null演算
・is empty、is not empty演算
・between演算
・and/or演算
・not演算
[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] );gtは「○○ > ××」、geは「○○ >= ××」式に相当するものです。やはり第1引数と第2引数を比較します。
[CriteriaBuilder] .ge ( [Predicate] , [Object] );
・<、<=演算
[CriteriaBuilder] .lt ( [Predicate] , [Object] );ltは「○○ < ××」、leは「○○ <= ××」式に相当するものです。第1引数と第2引数を比較します。
[CriteriaBuilder] .le ( [Predicate] , [Object] );
・like演算
[CriteriaBuilder] .like ( [Predicate] , [Object] );SQLのlikeに相当するものです。第1引数で指定したものと第2引数のオブジェクトをlike演算します。
・is null、is not null演算
[CriteriaBuilder] .isNull ( [Predicate] );第1引数がnullか、あるいはnullでないかを調べるものです。
[CriteriaBuilder] .isNotNull ( [Predicate] );
・is empty、is not empty演算
[CriteriaBuilder] .isEmpty ( [Predicate] ););第1引数が空か、あるいは空でないかを調べるものです。
[CriteriaBuilder] .isNotEmpty ( [Predicate]
・between演算
[CriteriaBuilder] .between ( [Predicate] , [Object] , [Object] );第1引数で指定したものと第2引数~第3引数の間に含まれているかどうかを調べます。
・and/or演算
[CriteriaBuilder] .and ( [Predicate] , [Predicate] );2つの式(Predicate)をつなぐためのものです。andは両方がtrueならばtrue、そうでなければfalse。orは両方がfalseならばfalse、そうでなければtrue。
[CriteriaBuilder] .or ( [Predicate] , [Predicate] );
・not演算
[CriteriaBuilder] .not ( [Predicate] );引数の反転した値を得るものです。引数の値がtrueならばfalse、falseならばtrue。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
※関連コンテンツ
「初心者のためのJava Persistence API入門」に戻る