インターフェース CriteriaQuery<T>

型パラメーター:
T - 定義された結果の型
すべてのスーパーインターフェース:
AbstractQuery<T>CommonAbstractCriteriaCriteriaSelect<T>

public interface CriteriaQuery<T> extends AbstractQuery<T>, CriteriaSelect<T>
CriteriaQuery インターフェースは、トップレベルのクエリに固有の機能を定義します。
導入:
2.0
  • メソッドの詳細

    • select

      CriteriaQuery<T> select(Selection<? extends T> selection)
      クエリ結果で返されるアイテムを指定します。以前に指定した選択があれば、それを置き換えます。

      メモ: 文字列ベースの API を使用するアプリケーションでは、get または join 操作の結果であり、クエリ結果の型が指定されている場合、select アイテムの型を指定する必要があります。

      例:

      パラメーター:
      selection - クエリ結果で返されるアイテムを指定する選択
      戻り値:
      変更されたクエリ
      例外:
      IllegalArgumentExceptionSE - 選択が複合選択であり、複数の選択アイテムに同じ割り当てられたエイリアスがある場合
    • multiselect

      @DeprecatedSE(since="3.2") CriteriaQuery<T> multiselect(Selection<?>... selections)
      使用すべきではありません。
      このメソッドは型安全ではないため、CriteriaBuilder.array(jakarta.persistence.criteria.Selection<?>...) または CriteriaBuilder.tuple(jakarta.persistence.criteria.Selection<?>...)select(jakarta.persistence.criteria.Selection<? extends T>) とともに使用することを強くお勧めします。
      クエリ結果で返却する選択項目を指定します。以前に指定した選択があれば、それを置き換えます。

      クエリ実行の結果の型は、作成された条件クエリオブジェクトの型の仕様と、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

      @DeprecatedSE(since="3.2") CriteriaQuery<T> multiselect(ListSE<Selection<?>> selectionList)
      使用すべきではありません。
      このメソッドは型安全ではないため、CriteriaBuilder.array(jakarta.persistence.criteria.Selection<?>...) または CriteriaBuilder.tuple(jakarta.persistence.criteria.Selection<?>...)select(jakarta.persistence.criteria.Selection<? extends T>) とともに使用することを強くお勧めします。
      クエリ結果で返却する選択項目を指定します。以前に指定した選択があれば、それを置き換えます。

      クエリ実行の結果の型は、作成された条件クエリオブジェクトの型の仕様と、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

      CriteriaQuery<T> where(Expression<BooleanSE> restriction)
      指定されたブール式に従ってクエリ結果を制限するようにクエリを変更します。以前に追加された制限がある場合は、それを置き換えます。このメソッドは、対応する AbstractQuery メソッドの戻り値の型のみをオーバーライドします。
      次で指定:
      インターフェース AbstractQuery<T>where 
      パラメーター:
      restriction - 単純または複合ブール式
      戻り値:
      変更されたクエリ
    • where

      CriteriaQuery<T> where(Predicate... restrictions)
      指定された制限述語の接続詞に従ってクエリ結果を制限するようにクエリを変更します。以前に追加された制限がある場合は、それを置き換えます。制限が指定されていない場合、以前に追加された制限は単に削除されます。このメソッドは、対応する AbstractQuery メソッドの戻り値の型のみをオーバーライドします。
      次で指定:
      インターフェース AbstractQuery<T>where 
      パラメーター:
      restrictions - 0 個以上の制限述語
      戻り値:
      変更されたクエリ
    • where

      CriteriaQuery<T> where(ListSE<Predicate> restrictions)
      指定された制限述語の接続詞に従ってクエリ結果を制限するようにクエリを変更します。以前に追加された制限がある場合は、それを置き換えます。制限が指定されていない場合、以前に追加された制限は単に削除されます。このメソッドは、対応する AbstractQuery メソッドの戻り値の型のみをオーバーライドします。
      次で指定:
      インターフェース AbstractQuery<T>where 
      パラメーター:
      restrictions - 0 個以上の制限述語のリスト
      戻り値:
      変更されたクエリ
      導入:
      3.2
    • 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 個以上の制限述語
      戻り値:
      変更されたクエリ
    • having

      CriteriaQuery<T> having(ListSE<Predicate> restrictions)
      指定された制限述語の組み合わせに従って、クエリのグループに対する制限を指定します。以前に追加された制限がある場合は、それを置き換えます。制限が指定されていない場合、以前に追加された制限は単に削除されます。このメソッドは、対応する AbstractQuery メソッドの戻り値の型のみをオーバーライドします。
      次で指定:
      インターフェース AbstractQuery<T>having 
      パラメーター:
      restrictions - 0 個以上の制限述語のリスト
      戻り値:
      変更されたクエリ
      導入:
      3.2
    • orderBy

      CriteriaQuery<T> orderBy(Order... o)
      クエリ結果の順序付けに使用される順序付け式を指定します。以前の順序付け式がある場合はそれを置き換えます。順序付け式が指定されていない場合、以前の順序付けがあれば単純に削除され、結果は特定の順序で返されません。順序付け式の左から右の順序によって優先順位が決まり、左端のものが最も高い優先順位になります。
      パラメーター:
      o - 0 個以上の順序式
      戻り値:
      変更されたクエリ
    • orderBy

      CriteriaQuery<T> orderBy(ListSE<Order> o)
      クエリ結果の順序付けに使用される順序付け式を指定します。以前の順序付け式がある場合はそれを置き換えます。順序付け式が指定されていない場合、以前の順序付けがあれば単純に削除され、結果は特定の順序で返されません。リスト内の順序付け式の順序によって優先順位が決まり、リスト内の最初の要素の優先順位が最も高くなります。
      パラメーター:
      o - ゼロ個以上の順序式のリスト
      戻り値:
      変更されたクエリ
    • distinct

      CriteriaQuery<T> distinct(boolean distinct)
      重複したクエリ結果を削除するかどうかを指定します。true 値を指定すると、重複が削除されます。false 値を指定すると、重複が保持されます。unique が指定されていない場合は、重複した結果を保持する必要があります。このメソッドは、対応する AbstractQuery メソッドの戻り値の型のみをオーバーライドします。
      次で指定:
      インターフェース AbstractQuery<T>distinct 
      パラメーター:
      distinct - クエリ結果から重複する結果を削除する必要があるか、保持する必要があるかを指定するブール値
      戻り値:
      変更されたクエリ。
    • getOrderList

      ListSE<Order> getOrderList()
      優先順位の順序式を返します。順序式が指定されていない場合は、空のリストを返します。リストを変更しても、クエリには影響しません。
      戻り値:
      オーダー式のリスト