Q
- concrete subtypepublic abstract class AbstractSQLQuery<Q extends AbstractSQLQuery<Q> & Query<Q>> extends ProjectableQuery<Q> implements SQLCommonQuery<Q>
Modifier and Type | Field and Description |
---|---|
protected QueryMixin<Q> |
queryMixin |
protected Expression<?> |
union |
protected boolean |
unionAll |
Constructor and Description |
---|
AbstractSQLQuery(java.sql.Connection conn,
Configuration configuration) |
AbstractSQLQuery(java.sql.Connection conn,
Configuration configuration,
QueryMetadata metadata) |
Modifier and Type | Method and Description |
---|---|
Q |
addFlag(QueryFlag.Position position,
Expression<?> flag)
Add the given Expression as a query flag
|
Q |
addFlag(QueryFlag.Position position,
java.lang.String flag)
Add the given String literal as query flag
|
Q |
addFlag(QueryFlag.Position position,
java.lang.String prefix,
Expression<?> expr)
Add the given prefix and expression as a general query flag
|
Q |
addJoinFlag(java.lang.String flag)
Add the given String literal as a join flag to the last added join with the position
BEFORE_TARGET
|
Q |
addJoinFlag(java.lang.String flag,
JoinFlag.Position position)
Add the given String literal as a join flag to the last added join
|
protected java.lang.String |
buildQueryString(boolean forCountRow) |
long |
count()
return the amount of matched rows
|
protected SQLSerializer |
createSerializer() |
boolean |
exists() |
Q |
forUpdate()
If you use forUpdate() with a backend that uses page or row locks, rows examined by the
query are write-locked until the end of the current transaction.
|
Q |
from(Expression<?>... args)
Defines the sources of the query
|
Q |
from(Expression<?> arg) |
Q |
from(SubQueryExpression<?> subQuery,
Path<?> alias)
Adds a sub query source
|
<E> Q |
fullJoin(ForeignKey<E> key,
RelationalPath<E> entity)
Adds a full join to the given target
|
<E> Q |
fullJoin(RelationalFunctionCall<E> target,
Path<E> alias)
Adds a full join to the given target
|
Q |
fullJoin(RelationalPath<?> target)
Adds a full join to the given target
|
Q |
fullJoin(SubQueryExpression<?> target,
Path<?> alias)
Adds a full join to the given target
|
protected Configuration |
getConfiguration() |
QueryMetadata |
getMetadata() |
java.sql.ResultSet |
getResults(Expression<?>... exprs)
Get the results as an JDBC result set
|
SQLBindings |
getSQL(Expression<?>... exprs)
Get the query as an SQL query string and bindings
|
<E> Q |
innerJoin(ForeignKey<E> key,
RelationalPath<E> entity)
Adds an inner join to the given target
|
<E> Q |
innerJoin(RelationalFunctionCall<E> target,
Path<E> alias)
Adds a full join to the given target
|
Q |
innerJoin(RelationalPath<?> target)
Adds an inner join to the given target
|
Q |
innerJoin(SubQueryExpression<?> target,
Path<?> alias)
Adds an inner join to the given target
|
com.mysema.commons.lang.CloseableIterator<Tuple> |
iterate(Expression<?>... args)
iterate over the results for the given projection
|
<RT> com.mysema.commons.lang.CloseableIterator<RT> |
iterate(Expression<RT> expr)
iterate over the results for the given projection
|
<E> Q |
join(ForeignKey<E> key,
RelationalPath<E> entity)
Adds a join to the given target
|
<E> Q |
join(RelationalFunctionCall<E> target,
Path<E> alias)
Adds a full join to the given target
|
Q |
join(RelationalPath<?> target)
Adds a join to the given target
|
Q |
join(SubQueryExpression<?> target,
Path<?> alias)
Adds a join to the given target
|
<E> Q |
leftJoin(ForeignKey<E> key,
RelationalPath<E> entity)
Adds a left join to the given target
|
<E> Q |
leftJoin(RelationalFunctionCall<E> target,
Path<E> alias)
Adds a full join to the given target
|
Q |
leftJoin(RelationalPath<?> target)
Adds a left join to the given target
|
Q |
leftJoin(SubQueryExpression<?> target,
Path<?> alias)
Adds a left join to the given target
|
java.util.List<Tuple> |
list(Expression<?>... args)
list the results for the given projection
An empty list is returned for no results.
|
<RT> java.util.List<RT> |
list(Expression<RT> expr)
list the results for the given projection
An empty list is returned for no results.
|
SearchResults<Tuple> |
listResults(Expression<?>... args)
list the results for the given projection
|
<RT> SearchResults<RT> |
listResults(Expression<RT> expr)
list the results for the given projection
|
Q |
on(Predicate... conditions)
Defines a filter to the last added join
|
Q |
on(Predicate condition) |
<E> Q |
rightJoin(ForeignKey<E> key,
RelationalPath<E> entity)
Adds a right join to the given target
|
<E> Q |
rightJoin(RelationalFunctionCall<E> target,
Path<E> alias)
Adds a full join to the given target
|
Q |
rightJoin(RelationalPath<?> target)
Adds a right join to the given target
|
Q |
rightJoin(SubQueryExpression<?> target,
Path<?> alias)
Adds a right join to the given target
|
protected void |
setParameters(java.sql.PreparedStatement stmt,
java.util.List<?> objects,
java.util.List<Path<?>> constantPaths,
java.util.Map<ParamExpression<?>,?> params) |
java.lang.String |
toString() |
<RT> Union<RT> |
union(ListSubQuery<RT>... sq)
Creates an union expression for the given subqueries
|
<RT> Q |
union(Path<?> alias,
ListSubQuery<RT>... sq)
Creates an union expression for the given subqueries
|
<RT> Q |
union(Path<?> alias,
SubQueryExpression<RT>... sq)
Creates an union expression for the given subqueries
|
<RT> Union<RT> |
union(SubQueryExpression<RT>... sq)
Creates an union expression for the given subqueries
|
<RT> Union<RT> |
unionAll(ListSubQuery<RT>... sq)
Creates an union expression for the given subqueries
|
<RT> Q |
unionAll(Path<?> alias,
ListSubQuery<RT>... sq)
Creates an union expression for the given subqueries
|
<RT> Q |
unionAll(Path<?> alias,
SubQueryExpression<RT>... sq)
Creates an union expression for the given subqueries
|
<RT> Union<RT> |
unionAll(SubQueryExpression<RT>... sq)
Creates an union expression for the given subqueries
|
Tuple |
uniqueResult(Expression<?>... expr)
return a unique result for the given projection or null if no result is found
|
<RT> RT |
uniqueResult(Expression<RT> expr)
return a unique result for the given projection or null if no result is found
|
map, notExists, singleResult, singleResult, transform, uniqueResult
distinct, equals, groupBy, groupBy, hashCode, having, having, limit, offset, orderBy, orderBy, restrict, set, where, where
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
distinct, limit, offset, orderBy, restrict, set
where
@Nullable protected Expression<?> union
protected final QueryMixin<Q extends AbstractSQLQuery<Q> & Query<Q>> queryMixin
protected boolean unionAll
public AbstractSQLQuery(@Nullable java.sql.Connection conn, Configuration configuration)
public AbstractSQLQuery(@Nullable java.sql.Connection conn, Configuration configuration, QueryMetadata metadata)
public Q addJoinFlag(java.lang.String flag)
addJoinFlag
in interface SQLCommonQuery<Q extends AbstractSQLQuery<Q> & Query<Q>>
flag
- public Q addJoinFlag(java.lang.String flag, JoinFlag.Position position)
addJoinFlag
in interface SQLCommonQuery<Q extends AbstractSQLQuery<Q> & Query<Q>>
flag
- position
- public Q addFlag(QueryFlag.Position position, java.lang.String prefix, Expression<?> expr)
addFlag
in interface SQLCommonQuery<Q extends AbstractSQLQuery<Q> & Query<Q>>
position
- position of the flagprefix
- prefix for the flagexpr
- expression of the flagpublic Q addFlag(QueryFlag.Position position, java.lang.String flag)
addFlag
in interface SQLCommonQuery<Q extends AbstractSQLQuery<Q> & Query<Q>>
position
- flag
- public Q addFlag(QueryFlag.Position position, Expression<?> flag)
addFlag
in interface SQLCommonQuery<Q extends AbstractSQLQuery<Q> & Query<Q>>
position
- flag
- protected java.lang.String buildQueryString(boolean forCountRow)
public long count()
Projectable
count
in interface Projectable
public boolean exists()
exists
in interface Projectable
public Q forUpdate()
protected SQLSerializer createSerializer()
public Q from(Expression<?> arg)
public Q from(Expression<?>... args)
SQLCommonQuery
from
in interface SQLCommonQuery<Q extends AbstractSQLQuery<Q> & Query<Q>>
public Q from(SubQueryExpression<?> subQuery, Path<?> alias)
SQLCommonQuery
from
in interface SQLCommonQuery<Q extends AbstractSQLQuery<Q> & Query<Q>>
public Q fullJoin(RelationalPath<?> target)
SQLCommonQuery
fullJoin
in interface SQLCommonQuery<Q extends AbstractSQLQuery<Q> & Query<Q>>
public <E> Q fullJoin(RelationalFunctionCall<E> target, Path<E> alias)
SQLCommonQuery
fullJoin
in interface SQLCommonQuery<Q extends AbstractSQLQuery<Q> & Query<Q>>
public Q fullJoin(SubQueryExpression<?> target, Path<?> alias)
SQLCommonQuery
fullJoin
in interface SQLCommonQuery<Q extends AbstractSQLQuery<Q> & Query<Q>>
public <E> Q fullJoin(ForeignKey<E> key, RelationalPath<E> entity)
SQLCommonQuery
fullJoin
in interface SQLCommonQuery<Q extends AbstractSQLQuery<Q> & Query<Q>>
public Q innerJoin(RelationalPath<?> target)
SQLCommonQuery
innerJoin
in interface SQLCommonQuery<Q extends AbstractSQLQuery<Q> & Query<Q>>
public <E> Q innerJoin(RelationalFunctionCall<E> target, Path<E> alias)
SQLCommonQuery
innerJoin
in interface SQLCommonQuery<Q extends AbstractSQLQuery<Q> & Query<Q>>
public Q innerJoin(SubQueryExpression<?> target, Path<?> alias)
SQLCommonQuery
innerJoin
in interface SQLCommonQuery<Q extends AbstractSQLQuery<Q> & Query<Q>>
public <E> Q innerJoin(ForeignKey<E> key, RelationalPath<E> entity)
SQLCommonQuery
innerJoin
in interface SQLCommonQuery<Q extends AbstractSQLQuery<Q> & Query<Q>>
public Q join(RelationalPath<?> target)
SQLCommonQuery
join
in interface SQLCommonQuery<Q extends AbstractSQLQuery<Q> & Query<Q>>
public <E> Q join(RelationalFunctionCall<E> target, Path<E> alias)
SQLCommonQuery
join
in interface SQLCommonQuery<Q extends AbstractSQLQuery<Q> & Query<Q>>
public Q join(SubQueryExpression<?> target, Path<?> alias)
SQLCommonQuery
join
in interface SQLCommonQuery<Q extends AbstractSQLQuery<Q> & Query<Q>>
public <E> Q join(ForeignKey<E> key, RelationalPath<E> entity)
SQLCommonQuery
join
in interface SQLCommonQuery<Q extends AbstractSQLQuery<Q> & Query<Q>>
public Q leftJoin(RelationalPath<?> target)
SQLCommonQuery
leftJoin
in interface SQLCommonQuery<Q extends AbstractSQLQuery<Q> & Query<Q>>
public <E> Q leftJoin(RelationalFunctionCall<E> target, Path<E> alias)
SQLCommonQuery
leftJoin
in interface SQLCommonQuery<Q extends AbstractSQLQuery<Q> & Query<Q>>
public Q leftJoin(SubQueryExpression<?> target, Path<?> alias)
SQLCommonQuery
leftJoin
in interface SQLCommonQuery<Q extends AbstractSQLQuery<Q> & Query<Q>>
public <E> Q leftJoin(ForeignKey<E> key, RelationalPath<E> entity)
SQLCommonQuery
leftJoin
in interface SQLCommonQuery<Q extends AbstractSQLQuery<Q> & Query<Q>>
public Q rightJoin(RelationalPath<?> target)
SQLCommonQuery
rightJoin
in interface SQLCommonQuery<Q extends AbstractSQLQuery<Q> & Query<Q>>
public <E> Q rightJoin(RelationalFunctionCall<E> target, Path<E> alias)
SQLCommonQuery
rightJoin
in interface SQLCommonQuery<Q extends AbstractSQLQuery<Q> & Query<Q>>
public Q rightJoin(SubQueryExpression<?> target, Path<?> alias)
SQLCommonQuery
rightJoin
in interface SQLCommonQuery<Q extends AbstractSQLQuery<Q> & Query<Q>>
public <E> Q rightJoin(ForeignKey<E> key, RelationalPath<E> entity)
SQLCommonQuery
rightJoin
in interface SQLCommonQuery<Q extends AbstractSQLQuery<Q> & Query<Q>>
public QueryMetadata getMetadata()
public SQLBindings getSQL(Expression<?>... exprs)
exprs
- public java.sql.ResultSet getResults(Expression<?>... exprs)
args
- protected Configuration getConfiguration()
public com.mysema.commons.lang.CloseableIterator<Tuple> iterate(Expression<?>... args)
Projectable
iterate
in interface Projectable
public <RT> com.mysema.commons.lang.CloseableIterator<RT> iterate(Expression<RT> expr)
Projectable
iterate
in interface Projectable
RT
- generic type of the Iteratorpublic java.util.List<Tuple> list(Expression<?>... args)
Projectable
list
in interface Projectable
list
in class ProjectableQuery<Q extends AbstractSQLQuery<Q> & Query<Q>>
public <RT> java.util.List<RT> list(Expression<RT> expr)
Projectable
list
in interface Projectable
list
in class ProjectableQuery<Q extends AbstractSQLQuery<Q> & Query<Q>>
RT
- generic type of the Listpublic SearchResults<Tuple> listResults(Expression<?>... args)
Projectable
listResults
in interface Projectable
public <RT> SearchResults<RT> listResults(Expression<RT> expr)
Projectable
listResults
in interface Projectable
public Q on(Predicate... conditions)
SQLCommonQuery
on
in interface SQLCommonQuery<Q extends AbstractSQLQuery<Q> & Query<Q>>
protected void setParameters(java.sql.PreparedStatement stmt, java.util.List<?> objects, java.util.List<Path<?>> constantPaths, java.util.Map<ParamExpression<?>,?> params)
public java.lang.String toString()
public <RT> Union<RT> union(ListSubQuery<RT>... sq)
RT
- sq
- public <RT> Q union(Path<?> alias, ListSubQuery<RT>... sq)
RT
- sq
- public <RT> Union<RT> union(SubQueryExpression<RT>... sq)
RT
- sq
- public <RT> Q union(Path<?> alias, SubQueryExpression<RT>... sq)
RT
- sq
- public <RT> Union<RT> unionAll(ListSubQuery<RT>... sq)
RT
- sq
- public <RT> Q unionAll(Path<?> alias, ListSubQuery<RT>... sq)
RT
- sq
- public <RT> Union<RT> unionAll(SubQueryExpression<RT>... sq)
RT
- sq
- public <RT> Q unionAll(Path<?> alias, SubQueryExpression<RT>... sq)
RT
- sq
- public Tuple uniqueResult(Expression<?>... expr)
Projectable
There is some ambiguity for missing results and null valued results, for disambiguation use the list or iterate methods instead.
uniqueResult
in interface Projectable
public <RT> RT uniqueResult(Expression<RT> expr)
Projectable
There is some ambiguity for missing results and null valued results, for disambiguation use the list or iterate methods instead.
uniqueResult
in interface Projectable
RT
- return typeCopyright © 2007-2013 Mysema Ltd. All Rights Reserved.