Package org.iplass.mtp.entity.query
Class SubQuery
java.lang.Object
org.iplass.mtp.entity.query.SubQuery
- All Implemented Interfaces:
Serializable
,ASTNode
サブクエリを表す。
on句にて、上位クエリとの結合条件を指定し相関サブクエリとすることが可能。
たとえば、
on句において、.(ドット)は、上位クエリの項目参照であることを示す。 2階層上位クエリの項目を指定したい場合は、..とする。
on句に指定可能な結合条件としては、通常の条件(where)句と異なり、EntityFieldとして参照を指定可能。 参照が指定された場合は、そのoidでの結合と同じ意味となる。 また、自己への参照を示す特別なリテラル定数として、"this"を利用可能。
たとえば、
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のエンティティレコード自体を示す。
- See Also:
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionaccept
(ASTTransformer transformer) void
accept
(QueryVisitor visitor) boolean
getOn()
getQuery()
int
hashCode()
相関サブクエリとする場合の結合条件を指定。 ひとつ上位のクエリと指定のプロパティで結合する。相関サブクエリとする場合の結合条件を指定。 指定のunnestCount分上位のクエリと指定のプロパティで結合する。相関サブクエリとする場合の結合条件を指定。on
(EntityField mainQueryProperty, EntityField subQueryProperty, int unnestCount) 相関サブクエリとする場合の結合条件を指定。 指定のunnestCount分上位のクエリと指定のプロパティで結合する。void
void
toString()
-
Field Details
-
THIS
相関サブクエリ利用時、結合条件(ON句)にて自分自身への参照を表現する定数。- See Also:
-
-
Constructor Details
-
SubQuery
public SubQuery() -
SubQuery
-
SubQuery
-
-
Method Details
-
getQuery
-
setQuery
-
getOn
-
setOn
-
on
相関サブクエリとする場合の結合条件を指定。- Parameters:
on
-- Returns:
-
on
相関サブクエリとする場合の結合条件を指定。 指定のunnestCount分上位のクエリと指定のプロパティで結合する。- Parameters:
mainQueryProperty
- 上位クエリ側のプロパティsubQueryProperty
- サブクエリ側のプロパティunnestCount
- 何階層上位のクエリと結合するかを指定- Returns:
-
on
相関サブクエリとする場合の結合条件を指定。 指定のunnestCount分上位のクエリと指定のプロパティで結合する。- Parameters:
mainQueryProperyName
- 上位クエリ側のプロパティ名subQueryPropertyName
- サブクエリ側のプロパティ名unnestCount
- 何階層上位のクエリと結合するかを指定- Returns:
-
on
相関サブクエリとする場合の結合条件を指定。 ひとつ上位のクエリと指定のプロパティで結合する。- Parameters:
mainQueryProperyName
- 上位クエリ側のプロパティ名subQueryPropertyName
- サブクエリ側のプロパティ名- Returns:
-
toString
-
accept
-
accept
-
hashCode
public int hashCode() -
equals
-