インターフェース CriteriaQuery<T>
- 型パラメーター:
T- 定義された結果の型
- すべてのスーパーインターフェース:
AbstractQuery<T>,CommonAbstractCriteria
public interface CriteriaQuery<T> extends AbstractQuery<T>
CriteriaQueryインターフェースは、トップレベルのクエリに固有の機能を定義します。- 導入:
- 2.0
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 CriteriaQuery<T>distinct(boolean distinct)重複するクエリ結果を排除するかどうかを指定します。ListSE<Order>getOrderList()順序付け式を優先順に返します。SetSE<ParameterExpression<?>>getParameters()クエリのパラメーターを返します。CriteriaQuery<T>groupBy(Expression<?>... grouping)クエリ結果でグループを形成するために使用される式を指定します。CriteriaQuery<T>groupBy(ListSE<Expression<?>> grouping)クエリ結果でグループを形成するために使用される式を指定します。CriteriaQuery<T>having(Expression<BooleanSE> restriction)クエリのグループに対する制限を指定します。CriteriaQuery<T>having(Predicate... restrictions)指定された制限述語の組み合わせに従って、クエリのグループに対する制限を指定します。CriteriaQuery<T>multiselect(Selection<?>... selections)クエリ結果で返却する選択項目を指定します。CriteriaQuery<T>multiselect(ListSE<Selection<?>> selectionList)クエリ結果で返却する選択項目を指定します。CriteriaQuery<T>orderBy(Order... o)クエリ結果の順序付けに使用される順序付け式を指定します。CriteriaQuery<T>orderBy(ListSE<Order> o)クエリ結果の順序付けに使用される順序付け式を指定します。CriteriaQuery<T>select(Selection<? extends T> selection)クエリ結果で返されるアイテムを指定します。CriteriaQuery<T>where(Expression<BooleanSE> restriction)クエリを変更して、指定されたブール式に従ってクエリ結果を制限します。CriteriaQuery<T>where(Predicate... restrictions)クエリを変更して、指定された制限述語の組み合わせに従ってクエリ結果を制限します。インターフェース jakarta.persistence.criteria.AbstractQuery から継承されたメソッド
from, from, getGroupList, getGroupRestriction, getResultType, getRoots, getSelection, isDistinct
インターフェース jakarta.persistence.criteria.CommonAbstractCriteria から継承されたメソッド
getRestriction, subquery
メソッドの詳細
select
CriteriaQuery<T> select(Selection<? extends T> selection)
クエリ結果で返されるアイテムを指定します。以前に指定した選択があれば、それを置き換えます。メモ: 文字列ベースの API を使用するアプリケーションでは、get または join 操作の結果であり、クエリ結果の型が指定されている場合、select アイテムの型を指定する必要があります。
For example: CriteriaQuery<String> q = cb.createQuery(String.class); Root<Order> order = q.from(Order.class); q.select(order.get("shippingAddress").<String>get("state")); CriteriaQuery<Product> q2 = cb.createQuery(Product.class); q2.select(q2.from(Order.class) .join("items") .<Item,Product>join("product"));- パラメーター:
selection- クエリ結果で返されるアイテムを指定する選択- 戻り値:
- 変更されたクエリ
- 例外:
IllegalArgumentExceptionSE- 選択が複合選択であり、複数の選択アイテムに同じ割り当てられたエイリアスがある場合
multiselect
CriteriaQuery<T> multiselect(Selection<?>... selections)
クエリ結果で返却する選択項目を指定します。以前に指定した選択があれば、それを置き換えます。クエリ実行の結果の型は、作成された条件クエリオブジェクトの型の仕様、および 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
CriteriaQuery<T> multiselect(ListSE<Selection<?>> selectionList)
クエリ結果で返却する選択項目を指定します。以前に指定した選択があれば、それを置き換えます。クエリ実行の結果の型は、作成された条件クエリオブジェクトの型の仕様と、
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メソッドに渡されるリストの要素に対応します。
- パラメーター:
selectionList- クエリによって返される結果に対応する選択項目のリスト- 戻り値:
- 変更されたクエリ
- 例外:
IllegalArgumentExceptionSE- 選択項目が無効である場合、または複数の選択項目に同じ割り当てられたエイリアスがある場合
- 条件クエリの型が
where
CriteriaQuery<T> where(Expression<BooleanSE> restriction)
指定されたブール式に従ってクエリ結果を制限するようにクエリを変更します。以前に追加された制限がある場合は、それを置き換えます。このメソッドは、対応するAbstractQueryメソッドの戻り値の型のみをオーバーライドします。- 次で指定:
- インターフェース
AbstractQuery<T>のwhere - パラメーター:
restriction- 単純または複合ブール式- 戻り値:
- 変更されたクエリ
where
CriteriaQuery<T> where(Predicate... restrictions)
指定された制限述語の接続詞に従ってクエリ結果を制限するようにクエリを変更します。以前に追加された制限がある場合は、それを置き換えます。制限が指定されていない場合、以前に追加された制限は単に削除されます。このメソッドは、対応するAbstractQueryメソッドの戻り値の型のみをオーバーライドします。- 次で指定:
- インターフェース
AbstractQuery<T>のwhere - パラメーター:
restrictions- 0 個以上の制限述語- 戻り値:
- 変更されたクエリ
groupBy
CriteriaQuery<T> groupBy(Expression<?>... grouping)
クエリ結果でグループを形成するために使用される式を指定します。以前に指定されたグループ化式があれば、それを置き換えます。グループ化式が指定されていない場合、以前に追加されたグループ化式は削除されます。このメソッドは、対応するAbstractQueryメソッドの戻り値の型のみをオーバーライドします。- 次で指定:
- インターフェース
AbstractQuery<T>のgroupBy - パラメーター:
grouping- 0 個以上のグループ化式- 戻り値:
- 変更されたクエリ
groupBy
CriteriaQuery<T> groupBy(ListSE<Expression<?>> grouping)
クエリ結果でグループを形成するために使用される式を指定します。以前に指定されたグループ化式があれば、それを置き換えます。グループ化式が指定されていない場合、以前に追加されたグループ化式は削除されます。このメソッドは、対応するAbstractQueryメソッドの戻り値の型のみをオーバーライドします。- 次で指定:
- インターフェース
AbstractQuery<T>のgroupBy - パラメーター:
grouping- 0 個以上のグループ化式のリスト- 戻り値:
- 変更されたクエリ
having
CriteriaQuery<T> having(Expression<BooleanSE> restriction)
クエリのグループに対する制限を指定します。以前の制限がある場合は、それを置き換えます。このメソッドは、対応するAbstractQueryメソッドの戻り値の型のみをオーバーライドします。- 次で指定:
- インターフェース
AbstractQuery<T>のhaving - パラメーター:
restriction- 単純または複合ブール式- 戻り値:
- 変更されたクエリ
having
CriteriaQuery<T> having(Predicate... restrictions)
指定された制限述語の組み合わせに従って、クエリのグループに対する制限を指定します。以前に追加された制限がある場合は、それを置き換えます。制限が指定されていない場合、以前に追加された制限は単に削除されます。このメソッドは、対応するAbstractQueryメソッドの戻り値の型のみをオーバーライドします。- 次で指定:
- インターフェース
AbstractQuery<T>のhaving - パラメーター:
restrictions- 0 個以上の制限述語- 戻り値:
- 変更されたクエリ
orderBy
CriteriaQuery<T> orderBy(Order... o)
クエリ結果の順序付けに使用される順序付け式を指定します。以前の順序付け式がある場合は、それを置き換えます。順序付け式が指定されていない場合、前の順序付けがあれば、単に削除され、結果は特定の順序で返されません。順序式の左から右への順序によって優先順位が決まり、左端が最も優先されます。- パラメーター:
o- 0 個以上の順序式- 戻り値:
- 変更されたクエリ
orderBy
CriteriaQuery<T> orderBy(ListSE<Order> o)
クエリ結果の順序付けに使用される順序付け式を指定します。以前の順序付け式がある場合は、それを置き換えます。順序付け式が指定されていない場合、前の順序付けがあれば、単に削除され、結果は特定の順序で返されません。リスト内の順序式の順序によって優先順位が決まります。これにより、リスト内の最初の要素の優先順位が最も高くなります。- パラメーター:
o- ゼロ個以上の順序式のリスト- 戻り値:
- 変更されたクエリ
distinct
CriteriaQuery<T> distinct(boolean distinct)
重複するクエリ結果を排除するかどうかを指定します。真の値は、重複が排除される原因になります。false 値を指定すると、重複が保持されます。個別が指定されていない場合、重複した結果を保持する必要があります。このメソッドは、対応するAbstractQueryメソッドの戻り値の型のみをオーバーライドします。- 次で指定:
- インターフェース
AbstractQuery<T>のdistinct - パラメーター:
distinct- クエリ結果から重複する結果を削除する必要があるか、保持する必要があるかを指定するブール値- 戻り値:
- 変更されたクエリ。
getOrderList
ListSE<Order> getOrderList()
優先順位の順序式を返します。順序式が指定されていない場合は、空のリストを返します。リストを変更しても、クエリには影響しません。- 戻り値:
- オーダー式のリスト
getParameters
SetSE<ParameterExpression<?>> getParameters()
クエリのパラメーターを返します。パラメーターがない場合は空のセットを返します。セットへの変更はクエリに影響しません。- 戻り値:
- クエリパラメーター