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, isDistinctgetRestriction, subqueryCriteriaQuery<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 © 2019 Eclipse Foundation.
Use is subject to license terms.