インターフェース Path<X>

  • 型パラメーター:
    X - パスによって参照される型
    すべてのスーパーインターフェース:
    Expression<X>Selection<X>TupleElement<X>
    すべての既知のサブインターフェース:
    CollectionJoin<Z,​E>From<Z,​X>Join<Z,​X>ListJoin<Z,​E>MapJoin<Z,​K,​V>PluralJoin<Z,​C,​E>Root<X>SetJoin<Z,​E>

    public interface Path<X>
    extends Expression<X>
    バインドされた型またはコレクションからの単純または複合属性パスを表し、「プリミティブ」式です。
    導入:
    2.0
    • メソッドの詳細

      • getModel

        Bindable<X> getModel()
        パス式に対応するバインド可能なオブジェクトを返します。
        戻り値:
        パスに対応するバインド可能なオブジェクト
      • getParentPath

        Path<?> getParentPath()
        パス内の親「ノード」を返すか、親がない場合は null を返します。
        戻り値:
      • get

        <Y> Path<Y> get​(SingularAttribute<? super X,​Y> attribute)
        参照される単一値属性に対応するパスを作成します。
        パラメーター:
        attribute - 単一値の属性
        戻り値:
        参照される属性に対応するパス
      • get

        <E,​C extends CollectionSE<E>> Expression<C> get​(PluralAttribute<X,​C,​E> collection)
        参照される collection-valued 属性に対応するパスを作成します。
        パラメーター:
        collection - コレクション値属性
        戻り値:
        参照される属性に対応する式
      • get

        <K,​V,​M extends MapSE<K,​V>> Expression<M> get​(MapAttribute<X,​K,​V> map)
        参照される map-valued 属性に対応するパスを作成します。
        パラメーター:
        map - マップ値属性
        戻り値:
        参照される属性に対応する式
      • type

        Expression<ClassSE<? extends X>> type()
        パスの型に対応する式を作成します。
        戻り値:
        パスの型に対応する式
      • get

        <Y> Path<Y> get​(StringSE attributeName)
        参照される属性に対応するパスを作成します。

        メモ: 文字列ベースの API を使用するアプリケーションでは、Path 変数の使用を回避するために、get 操作の結果の型を指定する必要がある場合があります。

             For example:
        
             CriteriaQuery<Person> q = cb.createQuery(Person.class);
             Root<Person> p = q.from(Person.class);
             q.select(p)
              .where(cb.isMember("joe",
                                 p.<Set<String>>get("nicknames")));
        
             rather than:
         
             CriteriaQuery<Person> q = cb.createQuery(Person.class);
             Root<Person> p = q.from(Person.class);
             Path<Set<String>> nicknames = p.get("nicknames");
             q.select(p)
              .where(cb.isMember("joe", nicknames));
          
        パラメーター:
        attributeName - 属性の名前
        戻り値:
        参照される属性に対応するパス
        例外:
        IllegalStateExceptionSE - 基本型に対応するパスで呼び出された場合
        IllegalArgumentExceptionSE - 名の属性が他に存在しない場合