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

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

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

      • 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()
        クエリのパラメーターを返します。パラメーターがない場合は空のセットを返します。セットへの変更はクエリに影響しません。
        戻り値:
        クエリパラメーター