クラス SubQuery

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

public class SubQuery extends 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のエンティティレコード自体を示す。
関連項目:
  • フィールド詳細

    • THIS

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

    • SubQuery

      public SubQuery()
    • SubQuery

      public SubQuery(Query query)
    • SubQuery

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

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

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

      public void accept(QueryVisitor visitor)
    • accept

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

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

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