インターフェース CriteriaQuery<T>
- 型パラメーター:
T- 定義された結果の型
- すべてのスーパーインターフェース:
AbstractQuery<T>、CommonAbstractCriteria、CriteriaSelect<T>
CriteriaQuery インターフェースは、トップレベルのクエリに固有の機能を定義します。- 導入:
- 2.0
方法の概要
修飾子と型メソッド説明distinct(boolean distinct) 重複したクエリ結果を削除するかどうかを指定します。順序付け式を優先順に返します。groupBy(Expression<?>... grouping) クエリ結果でグループを形成するために使用される式を指定します。groupBy(ListSE<Expression<?>> grouping) クエリ結果でグループを形成するために使用される式を指定します。having(Expression<BooleanSE> restriction) クエリのグループに対する制限を指定します。指定された制限述語の組み合わせに従って、クエリのグループに対する制限を指定します。指定された制限述語の組み合わせに従って、クエリのグループに対する制限を指定します。multiselect(Selection<?>... selections) 使用すべきではありません。multiselect(ListSE<Selection<?>> selectionList) 使用すべきではありません。クエリ結果の順序付けに使用される順序付け式を指定します。クエリ結果の順序付けに使用される順序付け式を指定します。クエリ結果で返されるアイテムを指定します。where(Expression<BooleanSE> restriction) クエリを変更して、指定されたブール式に従ってクエリ結果を制限します。クエリを変更して、指定された制限述語の組み合わせに従ってクエリ結果を制限します。クエリを変更して、指定された制限述語の組み合わせに従ってクエリ結果を制限します。インターフェース jakarta.persistence.criteria.AbstractQuery から継承されたメソッド
from, from, getGroupList, getGroupRestriction, getResultType, getRoots, getSelection, isDistinctインターフェース jakarta.persistence.criteria.CommonAbstractCriteria から継承されたメソッド
getParameters, getRestriction, subquery, subquery
メソッドの詳細
select
クエリ結果で返されるアイテムを指定します。以前に指定した選択があれば、それを置き換えます。メモ: 文字列ベースの API を使用するアプリケーションでは、get または join 操作の結果であり、クエリ結果の型が指定されている場合、select アイテムの型を指定する必要があります。
例:
- パラメーター:
selection- クエリ結果で返されるアイテムを指定する選択- 戻り値:
- 変更されたクエリ
- 例外:
IllegalArgumentExceptionSE- 選択が複合選択であり、複数の選択アイテムに同じ割り当てられたエイリアスがある場合
multiselect
使用すべきではありません。クエリ結果で返却する選択項目を指定します。以前に指定した選択があれば、それを置き換えます。クエリ実行の結果の型は、作成された条件クエリオブジェクトの型の仕様と、
multiselectメソッドの引数によって異なります。multiselect メソッドへの引数は、タプルまたは配列値の複合選択項目であってはなりません。
このメソッドのセマンティクスは次のとおりです。
- 条件クエリの型が
CriteriaQuery<Tuple>(つまり、createTupleQueryメソッド、またはTupleクラス引数をcreateQueryメソッドに渡すことによって作成された条件クエリオブジェクト) の場合、指定された形式のmultiselectメソッドの引数に対応するTupleオブジェクト順序はインスタンス化され、クエリ実行の結果として得られる行ごとに返されます。 - 条件クエリの型が一部のユーザー定義クラス X の
CriteriaQuery<X>(つまり、X クラス引数をcreateQueryメソッドに渡すことによって作成された条件クエリオブジェクト)の場合、multiselectメソッドの引数は X コンストラクターに渡され、行ごとに型 X のインスタンスが返されます。 - クラス X の条件クエリの型が
CriteriaQuery<X[]>である場合、型X[]のインスタンスが行ごとに返されます。配列の要素は、指定された順序でmultiselectメソッドの引数に対応します。 - 条件クエリの型が
CriteriaQuery<Object>であるか、型を指定せずに条件クエリが作成され、multiselectメソッドに 1 つの引数のみが渡される場合、型Objectのインスタンスが各行に返されます。 - 条件クエリの型が
CriteriaQuery<Object>であるか、型を指定せずに条件クエリが作成され、複数の引数がmultiselectメソッドに渡された場合、型Object[]のインスタンスがインスタンス化され、各行に返されます。配列の要素は、指定された順序でmultiselectメソッドの引数に対応します。
- パラメーター:
selections- クエリによって返される結果に対応する選択項目- 戻り値:
- 変更されたクエリ
- 例外:
IllegalArgumentExceptionSE- 選択項目が無効である場合、または複数の選択項目に同じ割り当てられたエイリアスがある場合
- 条件クエリの型が
multiselect
使用すべきではありません。クエリ結果で返却する選択項目を指定します。以前に指定した選択があれば、それを置き換えます。クエリ実行の結果の型は、作成された条件クエリオブジェクトの型の仕様と、
multiselectメソッドへの引数によって異なります。multiselectメソッドに渡されるリストの要素は、タプルまたは配列値の複合選択項目であってはなりません。このメソッドのセマンティクスは次のとおりです。
- 条件クエリの型が
CriteriaQuery<Tuple>(つまり、createTupleQueryメソッド、またはTupleクラス引数をcreateQueryメソッドに渡すことによって作成された条件クエリオブジェクト) の場合、リストの要素に対応するTupleオブジェクトがmultiselectメソッドに渡されます。は、指定された順序でインスタンス化され、クエリ実行の結果として得られる行ごとに返されます。 - 条件クエリの型が一部のユーザー定義クラス X の
CriteriaQuery<X>(つまり、X クラス引数をcreateQueryメソッドに渡すことによって作成された条件クエリオブジェクト)の場合、multiselectメソッドに渡されるリストの要素は、X コンストラクターと X 型のインスタンスが各行に返されます。 - クラス X の条件クエリの型が
CriteriaQuery<X[]>である場合、型X[]のインスタンスが行ごとに返されます。配列の要素は、指定された順序でmultiselectメソッドに渡されるリストの要素に対応します。 - 条件クエリの型が
CriteriaQuery<Object>の場合、または条件クエリが型を指定せずに作成され、multiselectメソッドに渡されるリストに要素が 1 つしかない場合、型Objectのインスタンスが各行に返されます。 - 条件クエリの型が
CriteriaQuery<Object>である場合、または条件クエリが型を指定せずに作成され、multiselectメソッドに渡されるリストに複数の要素が含まれている場合、型Object[]のインスタンスがインスタンス化され、行ごとに返されます。配列の要素は、指定された順序でmultiselectメソッドに渡されるリストの要素に対応します。
- パラメーター:
selectionList- クエリによって返される結果に対応する選択項目のリスト- 戻り値:
- 変更されたクエリ
- 例外:
IllegalArgumentExceptionSE- 選択項目が無効である場合、または複数の選択項目に同じ割り当てられたエイリアスがある場合
- 条件クエリの型が
where
指定されたブール式に従ってクエリ結果を制限するようにクエリを変更します。以前に追加された制限がある場合は、それを置き換えます。このメソッドは、対応するAbstractQueryメソッドの戻り値の型のみをオーバーライドします。- 次で指定:
- インターフェース
AbstractQuery<T>のwhere - パラメーター:
restriction- 単純または複合ブール式- 戻り値:
- 変更されたクエリ
where
指定された制限述語の接続詞に従ってクエリ結果を制限するようにクエリを変更します。以前に追加された制限がある場合は、それを置き換えます。制限が指定されていない場合、以前に追加された制限は単に削除されます。このメソッドは、対応するAbstractQueryメソッドの戻り値の型のみをオーバーライドします。- 次で指定:
- インターフェース
AbstractQuery<T>のwhere - パラメーター:
restrictions- 0 個以上の制限述語- 戻り値:
- 変更されたクエリ
where
指定された制限述語の接続詞に従ってクエリ結果を制限するようにクエリを変更します。以前に追加された制限がある場合は、それを置き換えます。制限が指定されていない場合、以前に追加された制限は単に削除されます。このメソッドは、対応するAbstractQueryメソッドの戻り値の型のみをオーバーライドします。- 次で指定:
- インターフェース
AbstractQuery<T>のwhere - パラメーター:
restrictions- 0 個以上の制限述語のリスト- 戻り値:
- 変更されたクエリ
- 導入:
- 3.2
groupBy
クエリ結果でグループを形成するために使用される式を指定します。以前に指定されたグループ化式があれば、それを置き換えます。グループ化式が指定されていない場合、以前に追加されたグループ化式は削除されます。このメソッドは、対応するAbstractQueryメソッドの戻り値の型のみをオーバーライドします。- 次で指定:
- インターフェース
AbstractQuery<T>のgroupBy - パラメーター:
grouping- 0 個以上のグループ化式- 戻り値:
- 変更されたクエリ
groupBy
クエリ結果でグループを形成するために使用される式を指定します。以前に指定されたグループ化式があれば、それを置き換えます。グループ化式が指定されていない場合、以前に追加されたグループ化式は削除されます。このメソッドは、対応するAbstractQueryメソッドの戻り値の型のみをオーバーライドします。- 次で指定:
- インターフェース
AbstractQuery<T>のgroupBy - パラメーター:
grouping- 0 個以上のグループ化式のリスト- 戻り値:
- 変更されたクエリ
having
クエリのグループに対する制限を指定します。以前の制限がある場合は、それを置き換えます。このメソッドは、対応するAbstractQueryメソッドの戻り値の型のみをオーバーライドします。- 次で指定:
- インターフェース
AbstractQuery<T>のhaving - パラメーター:
restriction- 単純または複合ブール式- 戻り値:
- 変更されたクエリ
having
指定された制限述語の組み合わせに従って、クエリのグループに対する制限を指定します。以前に追加された制限がある場合は、それを置き換えます。制限が指定されていない場合、以前に追加された制限は単に削除されます。このメソッドは、対応するAbstractQueryメソッドの戻り値の型のみをオーバーライドします。- 次で指定:
- インターフェース
AbstractQuery<T>のhaving - パラメーター:
restrictions- 0 個以上の制限述語- 戻り値:
- 変更されたクエリ
having
指定された制限述語の組み合わせに従って、クエリのグループに対する制限を指定します。以前に追加された制限がある場合は、それを置き換えます。制限が指定されていない場合、以前に追加された制限は単に削除されます。このメソッドは、対応するAbstractQueryメソッドの戻り値の型のみをオーバーライドします。- 次で指定:
- インターフェース
AbstractQuery<T>のhaving - パラメーター:
restrictions- 0 個以上の制限述語のリスト- 戻り値:
- 変更されたクエリ
- 導入:
- 3.2
orderBy
クエリ結果の順序付けに使用される順序付け式を指定します。以前の順序付け式がある場合はそれを置き換えます。順序付け式が指定されていない場合、以前の順序付けがあれば単純に削除され、結果は特定の順序で返されません。順序付け式の左から右の順序によって優先順位が決まり、左端のものが最も高い優先順位になります。- パラメーター:
o- 0 個以上の順序式- 戻り値:
- 変更されたクエリ
orderBy
クエリ結果の順序付けに使用される順序付け式を指定します。以前の順序付け式がある場合はそれを置き換えます。順序付け式が指定されていない場合、以前の順序付けがあれば単純に削除され、結果は特定の順序で返されません。リスト内の順序付け式の順序によって優先順位が決まり、リスト内の最初の要素の優先順位が最も高くなります。- パラメーター:
o- ゼロ個以上の順序式のリスト- 戻り値:
- 変更されたクエリ
distinct
重複したクエリ結果を削除するかどうかを指定します。true 値を指定すると、重複が削除されます。false 値を指定すると、重複が保持されます。unique が指定されていない場合は、重複した結果を保持する必要があります。このメソッドは、対応するAbstractQueryメソッドの戻り値の型のみをオーバーライドします。- 次で指定:
- インターフェース
AbstractQuery<T>のdistinct - パラメーター:
distinct- クエリ結果から重複する結果を削除する必要があるか、保持する必要があるかを指定するブール値- 戻り値:
- 変更されたクエリ。
getOrderList
優先順位の順序式を返します。順序式が指定されていない場合は、空のリストを返します。リストを変更しても、クエリには影響しません。- 戻り値:
- オーダー式のリスト
CriteriaBuilder.array(jakarta.persistence.criteria.Selection<?>...)またはCriteriaBuilder.tuple(jakarta.persistence.criteria.Selection<?>...)をselect(jakarta.persistence.criteria.Selection<? extends T>)とともに使用することを強くお勧めします。