クラス SubQuery

java.lang.Object
org.iplass.mtp.entity.query.SubQuery
すべての実装されたインタフェース:
java.io.Serializable, ASTNode

public class SubQuery
extends java.lang.Object
implements ASTNode
サブクエリを表す。 on句にて、上位クエリとの結合条件を指定し相関サブクエリとすることが可能。
たとえば、
 select dept.name, lastName, salary from Employee where salary > (select avg(salary) from Employee on .dept=dept)
 
とした場合、Employeeエンティティに定義される参照dept(のoid)で結合された相関サブクエリを表すことができる。
on句において、.(ドット)は、上位クエリの項目参照であることを示す。 2階層上位クエリの項目を指定したい場合は、..とする。
on句に指定可能な結合条件としては、通常の条件(where)句と異なり、EntityFieldとして参照を指定可能。 参照が指定された場合は、そのoidでの結合と同じ意味となる。 また、自己への参照を示す特別なリテラル定数として、"this"を利用可能。
 select name, (select max(amount) from Detail on .this=parent where status=1) from Master
 
とした場合、.thisは上位クエリのMasterのエンティティレコード自体を示す。
関連項目:
直列化された形式
  • フィールドの概要

    フィールド 
    修飾子とタイプ フィールド 説明
    static java.lang.String THIS
    相関サブクエリ利用時、結合条件(ON句)にて自分自身への参照を表現する定数。
  • コンストラクタの概要

    コンストラクタ 
    コンストラクタ 説明
    SubQuery()  
    SubQuery​(Query query)  
    SubQuery​(Query query, Condition on)  
  • メソッドの概要

    修飾子とタイプ メソッド 説明
    ASTNode accept​(ASTTransformer transformer)  
    void accept​(QueryVisitor visitor)  
    boolean equals​(java.lang.Object obj)  
    Condition getOn()  
    Query getQuery()  
    int hashCode()  
    SubQuery on​(java.lang.String mainQueryProperyName, java.lang.String subQueryPropertyName)
    相関サブクエリとする場合の結合条件を指定。
    SubQuery on​(java.lang.String mainQueryProperyName, java.lang.String subQueryPropertyName, int unnestCount)
    相関サブクエリとする場合の結合条件を指定。
    SubQuery on​(Condition on)
    相関サブクエリとする場合の結合条件を指定。
    SubQuery on​(EntityField mainQueryProperty, EntityField subQueryProperty, int unnestCount)
    相関サブクエリとする場合の結合条件を指定。
    void setOn​(Condition on)  
    void setQuery​(Query query)  
    java.lang.String toString()  

    クラスから継承されたメソッド java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    インタフェースから継承されたメソッド org.iplass.mtp.entity.query.ASTNode

    copy
  • フィールド詳細

    • THIS

      public static final java.lang.String THIS
      相関サブクエリ利用時、結合条件(ON句)にて自分自身への参照を表現する定数。
      関連項目:
      定数フィールド値
  • コンストラクタの詳細

  • メソッドの詳細

    • getQuery

      public Query getQuery()
    • setQuery

      public void setQuery​(Query query)
    • getOn

      public Condition getOn()
    • setOn

      public void setOn​(Condition on)
    • on

      public SubQuery on​(Condition on)
      相関サブクエリとする場合の結合条件を指定。
      パラメータ:
      on -
      戻り値:
    • on

      public SubQuery on​(EntityField mainQueryProperty, EntityField subQueryProperty, int unnestCount)
      相関サブクエリとする場合の結合条件を指定。 指定のunnestCount分上位のクエリと指定のプロパティで結合する。
      パラメータ:
      mainQueryProperty - 上位クエリ側のプロパティ
      subQueryProperty - サブクエリ側のプロパティ
      unnestCount - 何階層上位のクエリと結合するかを指定
      戻り値:
    • on

      public SubQuery on​(java.lang.String mainQueryProperyName, java.lang.String subQueryPropertyName, int unnestCount)
      相関サブクエリとする場合の結合条件を指定。 指定のunnestCount分上位のクエリと指定のプロパティで結合する。
      パラメータ:
      mainQueryProperyName - 上位クエリ側のプロパティ名
      subQueryPropertyName - サブクエリ側のプロパティ名
      unnestCount - 何階層上位のクエリと結合するかを指定
      戻り値:
    • on

      public SubQuery on​(java.lang.String mainQueryProperyName, java.lang.String subQueryPropertyName)
      相関サブクエリとする場合の結合条件を指定。 ひとつ上位のクエリと指定のプロパティで結合する。
      パラメータ:
      mainQueryProperyName - 上位クエリ側のプロパティ名
      subQueryPropertyName - サブクエリ側のプロパティ名
      戻り値:
    • toString

      public java.lang.String toString()
      定義:
      toString インタフェース内 ASTNode
      オーバーライド:
      toString クラス内 java.lang.Object
    • accept

      public void accept​(QueryVisitor visitor)
    • accept

      public ASTNode accept​(ASTTransformer transformer)
      定義:
      accept インタフェース内 ASTNode
    • hashCode

      public int hashCode()
      定義:
      hashCode インタフェース内 ASTNode
      オーバーライド:
      hashCode クラス内 java.lang.Object
    • equals

      public boolean equals​(java.lang.Object obj)
      定義:
      equals インタフェース内 ASTNode
      オーバーライド:
      equals クラス内 java.lang.Object