T
- 定義された結果の型 public interface CriteriaQuery<T> extends AbstractQuery<T>
CriteriaQuery
インターフェースは、トップレベルのクエリに固有の機能を定義します。修飾子と型 | メソッドと説明 |
---|---|
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(ListSE<Selection<?>> selectionList) クエリ結果で返却する選択項目を指定します。 |
CriteriaQuery<T> | multiselect(Selection<?>... selections) クエリ結果で返却する選択項目を指定します。 |
CriteriaQuery<T> | orderBy(ListSE<Order> o) クエリ結果の順序付けに使用される順序付け式を指定します。 |
CriteriaQuery<T> | orderBy(Order... o) クエリ結果の順序付けに使用される順序付け式を指定します。 |
CriteriaQuery<T> | select(Selection<? extends T> selection) クエリ結果で返されるアイテムを指定します。 |
CriteriaQuery<T> | where(Expression<BooleanSE> restriction) クエリを変更して、指定されたブール式に従ってクエリ結果を制限します。 |
CriteriaQuery<T> | where(Predicate... restrictions) クエリを変更して、指定された制限述語の組み合わせに従ってクエリ結果を制限します。 |
from, from, getGroupList, getGroupRestriction, getResultType, getRoots, getSelection, isDistinct
getRestriction, subquery
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
- 選択が複合選択であり、複数の選択アイテムに同じ割り当てられたエイリアスがある場合 CriteriaQuery<T> multiselect(Selection<?>... selections)
multiselect メソッドへの引数は、タプルまたは配列値の複合選択項目であってはなりません。
このメソッドのセマンティクスは次のとおりです。
CriteriaQuery<Tuple>
(つまり、createTupleQuery
メソッドによって、または Tuple
クラス引数を createQuery
メソッドに渡すことによって作成された条件クエリオブジェクト)の場合、指定された multiselect
メソッドの引数に対応する Tuple
オブジェクトクエリ実行の結果である行ごとにインスタンス化されて返されます。CriteriaQuery<X>
(つまり、X クラス引数を createQuery
メソッドに渡すことによって作成された条件クエリオブジェクト)の場合、multiselect
メソッドの引数は X コンストラクターに渡され、行ごとに型 X のインスタンスが返されます。CriteriaQuery<X[]>
である場合、各行に対して型 X[] のインスタンスが返されます。配列の要素は、指定された順序で multiselect
メソッドの引数に対応します。CriteriaQuery<Object>
であるか、型を指定せずに条件クエリが作成され、multiselect
メソッドに 1 つの引数のみが渡される場合、型 Object
のインスタンスが各行に返されます。CriteriaQuery<Object>
であるか、型を指定せずに条件クエリが作成され、複数の引数が multiselect
メソッドに渡された場合、型 Object[]
のインスタンスがインスタンス化され、各行に返されます。配列の要素は、指定された順序で multiselect
メソッドの引数に対応します。selections
- クエリによって返される結果に対応する選択項目 IllegalArgumentExceptionSE
- 選択項目が無効である場合、または複数の選択項目に同じ割り当てられたエイリアスがある場合 CriteriaQuery<T> multiselect(ListSE<Selection<?>> selectionList)
クエリ実行の結果の型は、作成された条件クエリオブジェクトの型の仕様と、multiselect
メソッドへの引数によって異なります。multiselect
メソッドに渡されるリストの要素は、タプルまたは配列値の複合選択項目であってはなりません。
このメソッドのセマンティクスは次のとおりです。
CriteriaQuery<Tuple>
(つまり、createTupleQuery
メソッドまたは Tuple
クラス引数を createQuery
メソッドに渡すことによって作成された条件クエリオブジェクト)の場合、multiselect
メソッドに渡されたリストの要素に対応する Tuple
オブジェクトは、指定された順序でインスタンス化され、クエリの実行結果の各行に対して返されます。CriteriaQuery<X>
(つまり、X クラス引数を createQuery
メソッドに渡すことによって作成された条件クエリオブジェクト)の場合、multiselect
メソッドに渡されるリストの要素は、X コンストラクターと X 型のインスタンスが各行に返されます。CriteriaQuery<X[]>
である場合、各行に対して型 X[] のインスタンスが返されます。配列の要素は、multiselect
メソッドに渡されたリストの要素に、指定された順序で対応します。CriteriaQuery<Object>
の場合、または条件クエリが型を指定せずに作成され、multiselect
メソッドに渡されるリストに要素が 1 つしかない場合、型 Object
のインスタンスが各行に返されます。CriteriaQuery<Object>
である場合、または条件クエリが型を指定せずに作成され、multiselect
メソッドに渡されるリストに複数の要素が含まれている場合、型 Object[]
のインスタンスがインスタンス化され、行ごとに返されます。配列の要素は、指定された順序で multiselect
メソッドに渡されるリストの要素に対応します。selectionList
- クエリによって返される結果に対応する選択項目のリスト IllegalArgumentExceptionSE
- 選択項目が無効である場合、または複数の選択項目に同じ割り当てられたエイリアスがある場合 CriteriaQuery<T> where(Expression<BooleanSE> restriction)
AbstractQuery
メソッドの戻り値の型のみをオーバーライドします。AbstractQuery<T>
の where
restriction
- 単純または複合ブール式 CriteriaQuery<T> where(Predicate... restrictions)
AbstractQuery
メソッドの戻り値の型のみをオーバーライドします。AbstractQuery<T>
の where
restrictions
- 0 個以上の制限述語 CriteriaQuery<T> groupBy(Expression<?>... grouping)
AbstractQuery
メソッドの戻り値の型のみをオーバーライドします。AbstractQuery<T>
の groupBy
grouping
- 0 個以上のグループ化式 CriteriaQuery<T> groupBy(ListSE<Expression<?>> grouping)
AbstractQuery
メソッドの戻り値の型のみをオーバーライドします。AbstractQuery<T>
の groupBy
grouping
- 0 個以上のグループ化式のリスト CriteriaQuery<T> having(Expression<BooleanSE> restriction)
AbstractQuery
メソッドの戻り値の型のみをオーバーライドします。AbstractQuery<T>
の having
restriction
- 単純または複合ブール式 CriteriaQuery<T> having(Predicate... restrictions)
AbstractQuery
メソッドの戻り値の型のみをオーバーライドします。AbstractQuery<T>
の having
restrictions
- 0 個以上の制限述語 CriteriaQuery<T> orderBy(Order... o)
o
- 0 個以上の順序式 CriteriaQuery<T> orderBy(ListSE<Order> o)
o
- ゼロ個以上の順序式のリスト CriteriaQuery<T> distinct(boolean distinct)
AbstractQuery
メソッドの戻り値の型のみをオーバーライドします。AbstractQuery<T>
の distinct
distinct
- クエリ結果から重複する結果を削除する必要があるか、保持する必要があるかを指定するブール値 ListSE<Order> getOrderList()
SetSE<ParameterExpression<?>> getParameters()
Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.