public class Criteria extends Object implements Serializable, Cloneable
Modifier and Type | Field and Description |
---|---|
static SqlEnum |
ALL
Comparison type.
|
static SqlEnum |
ALT_NOT_EQUAL
Comparison type.
|
static SqlEnum |
CURRENT_DATE
"CURRENT_DATE" ANSI SQL function
|
static SqlEnum |
CURRENT_TIME
"CURRENT_TIME" ANSI SQL function
|
static SqlEnum |
CURRENT_TIMESTAMP
"CURRENT_TIMESTAMP" ANSI SQL function
|
static SqlEnum |
DISTINCT
Comparison type.
|
static SqlEnum |
EQUAL
Comparison type.
|
static SqlEnum |
GREATER_EQUAL
Comparison type.
|
static SqlEnum |
GREATER_THAN
Comparison type.
|
static SqlEnum |
ILIKE
Comparison type.
|
static SqlEnum |
IN
Comparison type.
|
static JoinType |
INNER_JOIN
"INNER JOIN" SQL statement
|
static SqlEnum |
ISNOTNULL
"IS NOT NULL" null comparison
|
static SqlEnum |
ISNULL
"IS NULL" null comparison
|
static SqlEnum |
JOIN
Comparison type.
|
static JoinType |
LEFT_JOIN
"LEFT JOIN" SQL statement
|
static SqlEnum |
LESS_EQUAL
Comparison type.
|
static SqlEnum |
LESS_THAN
Comparison type.
|
static SqlEnum |
LIKE
Comparison type.
|
static SqlEnum |
NOT_EQUAL
Comparison type.
|
static SqlEnum |
NOT_ILIKE
Comparison type.
|
static SqlEnum |
NOT_IN
Comparison type.
|
static SqlEnum |
NOT_LIKE
Comparison type.
|
static JoinType |
RIGHT_JOIN
"RIGHT JOIN" SQL statement
|
Constructor and Description |
---|
Criteria()
Constructor.
|
Criteria(Criteria toCopy)
Copy-constructor.
|
Criteria(String dbName)
Constructor with the database name as parameter..
|
Modifier and Type | Method and Description |
---|---|
Criteria |
addAlias(String alias,
Criteria subselect)
Allows one to specify an alias for a subselect.
|
Criteria |
addAlias(String alias,
String table)
Allows one to specify an alias for a table.
|
Criteria |
addAscendingOrderByColumn(Column column)
Adds an order by clause, explicitly specifying ascending.
|
Criteria |
addAscendingOrderByColumn(Column column,
boolean ignoreCase)
Add an order by clause, explicitly specifying ascending.
|
Criteria |
addAsColumn(String name,
Column clause)
Add an AS clause to the select columns.
|
Criteria |
addDescendingOrderByColumn(Column column)
Add order by column name, explicitly specifying descending.
|
Criteria |
addDescendingOrderByColumn(Column column,
boolean ignoreCase)
Add order by column name, explicitly specifying descending.
|
Criteria |
addFrom(FromElement fromElement)
Adds a new Element to the from clause.
|
Criteria |
addFrom(String tableName)
Adds a table to the from clause, not using a joinType or joinCondition.
|
Criteria |
addGroupByColumn(Column groupBy)
Add a group by clause.
|
Criteria |
addHaving(Criterion having)
This method adds a prepared Criterion object to the Criteria as a having
clause.
|
Criteria |
addJoin(Column left,
Column right)
Adds a join to the criteria, E.g.
|
Criteria |
addJoin(Column left,
Column right,
JoinType joinType)
Adds a join to the criteria, E.g.
|
Criteria |
addJoin(Column left,
Column right,
SqlEnum comparison,
JoinType joinType)
Adds a join to the criteria, E.g.
|
Criteria |
addJoin(PreparedStatementPart leftTable,
PreparedStatementPart rightTable,
Criterion joinCondition,
JoinType joinType)
Adds a join to the criteria, E.g.
|
Criteria |
addJoin(String leftTable,
String rightTable,
Criterion joinCondition,
JoinType joinType)
Adds a join to the criteria.
|
Criteria |
addSelectColumn(Column column)
Adds a select column to the Criteria.
|
Criteria |
and(Criterion criterion)
"AND"s Criterion object with the conditions in this Criteria.
|
Criteria |
and(Object lValue,
Object rValue)
"AND"s a new condition with the conditions in this Criteria.
|
Criteria |
and(Object lValue,
Object rValue,
SqlEnum comparison)
"AND"s a new condition with the conditions in this Criteria.
|
Criteria |
andDate(Object lValue,
int year,
int month,
int day)
Convenience method to AND a new date comparison with the conditions
in this Criteria.
|
Criteria |
andDate(Object lValue,
int year,
int month,
int day,
SqlEnum comparison)
Convenience method to AND a new date comparison with the conditions
in this Criteria.
|
Criteria |
andIn(Object lValue,
Collection<?> rValues)
Convenience method to AND a "in" comparison with the conditions
in this Criteria.
|
Criteria |
andIn(Object lValue,
Object[] rValues)
Convenience method to AND a "in" comparison with the conditions
in this Criteria.
|
Criteria |
andNotIn(Object lValue,
Collection<?> rValues)
Convenience method to AND a "not in" comparison with the conditions
in this Criteria.
|
Criteria |
andNotIn(Object lValue,
Object[] rValues)
Convenience method to AND a "not in" comparison with the conditions
in this Criteria.
|
Criteria |
andVerbatimSql(String sql,
Object[] replacements)
Ands a verbatim sql condition to this Criteria.
|
Criteria |
andVerbatimSql(String sql,
Object[] replacements,
Column toAddToFromClause1,
Column toAddToFromClause2)
ANDs a verbatim sql condition to this Criteria.
|
protected void |
appendSetOperation(Criteria other,
SqlEnum setOperator)
Appends a set operation (union, except, intersect) to this Criteria.
|
protected void |
assertNoComposite()
Checks that this Criteria is no composite Criteria, and throws a
TorqueRuntimeException otherwise.
|
protected void |
clear()
Resets this Criteria to its original state.
|
Object |
clone()
Returns a shallow copy of this object.
|
boolean |
equals(Object object)
Checks whether an object is equal to this Criteria.
|
Criteria |
except(Criteria other)
Creates a SQL EXCEPT between this Criteria
and the passed other criteria.
|
Criteria |
exceptAll(Criteria other)
Creates a SQL EXCEPT between this Criteria
and the passed other criteria.
|
Criteria |
forUpdate()
Sets that FOR UPDATE clause should be added to the query.
|
Map<String,Object> |
getAliases()
Get the table aliases.
|
Map<String,Column> |
getAsColumns()
Get the column aliases.
|
String |
getDbName()
Get the Database name to be used for this criterion.
|
Integer |
getFetchSize()
Returns the JDBC statement fetch size to use for queries.
|
UniqueList<FromElement> |
getFromElements()
Get all elements in the from clause of the query.
|
UniqueColumnList |
getGroupByColumns()
Get all group by columns.
|
Criterion |
getHaving()
Get Having Criterion.
|
List<Join> |
getJoins()
Get the List of Joins.
|
int |
getLimit()
Get the upper limit for the number of records returned by a query.
|
long |
getOffset()
Get how many records should be skipped at the start of the result.
|
UniqueList<OrderBy> |
getOrderByColumns()
Get all order by columns.
|
UniqueColumnList |
getSelectColumns()
Return all select columns.
|
UniqueList<String> |
getSelectModifiers()
Return all select modifiers.
|
List<Criteria> |
getSetCriteriaParts()
Return the parts of the criteria which compose a query using
set operations (union, except, intersect).
|
SqlEnum |
getSetOperator()
Returns the operator between the set operations.
|
Criteria |
getSubselectForAlias(String alias)
Returns the subselect associated with an alias.
|
String |
getTableForAlias(String alias)
Returns the database table name associated with an alias.
|
Criterion |
getTopLevelCriterion()
Returns the top level Criterion.
|
int |
hashCode()
Returns the hash code value for this Criteria.
|
Criteria |
intersect(Criteria other)
Creates a SQL INTERSECT between this Criteria
and the passed other criteria.
|
Criteria |
intersectAll(Criteria other)
Creates a SQL INTERSECT ALL between this Criteria
and the passed other criteria.
|
boolean |
isComposite()
Returns whether this Criteria is a composite criteria, i.e.
|
boolean |
isForUpdate()
Returns whether a FOR UPDATE clause is added.
|
boolean |
isIgnoreCase()
Returns whether case should be ignored in where clauses and order by
whenever String columns are encountered.
|
boolean |
isSingleRecord()
Returns whether the check that a query returns exactly one record
is active.
|
Criteria |
or(Criterion criterion)
"OR"s a Criterion object with the conditions in this Criteria.
|
Criteria |
or(Object lValue,
Object rValue)
"OR"s a new condition with the conditions in this Criteria.
|
Criteria |
or(Object lValue,
Object rValue,
SqlEnum comparison)
"OR"s a new condition with the conditions in this Criteria.
|
Criteria |
orDate(Object lValue,
int year,
int month,
int day)
Convenience method to OR a new date comparison with the conditions
in this Criteria.
|
Criteria |
orDate(Object lValue,
int year,
int month,
int day,
SqlEnum comparison)
Convenience method to OR a new date comparison with the conditions
in this Criteria.
|
Criteria |
orIn(Object lValue,
Collection<?> rValues)
Convenience method to OR a "in" comparison with the conditions
in this Criteria.
|
Criteria |
orIn(Object lValue,
Object[] rValues)
Convenience method to OR a "in" comparison with the conditions
in this Criteria.
|
Criteria |
orNotIn(Object lValue,
Collection<?> rValues)
Convenience method to OR a "not in" comparison with the conditions
in this Criteria.
|
Criteria |
orNotIn(Object lValue,
Object[] rValues)
Convenience method to OR a "not in" comparison with the conditions
in this Criteria.
|
Criteria |
orVerbatimSql(String sql,
Object[] replacements)
ORs a verbatim sql condition to this Criteria.
|
Criteria |
orVerbatimSql(String sql,
Object[] replacements,
Column toAddToFromClause1,
Column toAddToFromClause2)
ORs a verbatim sql condition to this Criteria.
|
Criteria |
setAll()
Adds "ALL " to the SQL statement.
|
Criteria |
setDbName(String dbName)
Set the Database name.
|
Criteria |
setDistinct()
Adds "DISTINCT " to the SQL statement.
|
Criteria |
setFetchSize(Integer fetchSize)
Sets the JDBC statement fetch size to use for queries.
|
Criteria |
setForUpdate(boolean forUpdate)
Sets whether FOR UPDATE clause should be added to the query.
|
Criteria |
setIgnoreCase(boolean ignoreCase)
Sets whether case should be ignored in where clauses and order by
whenever String columns are encountered.
|
Criteria |
setLimit(int limit)
Set a limit for the query
|
Criteria |
setOffset(long offset)
Set the offset.
|
Criteria |
setSingleRecord(boolean b)
Switch the check on or off that a query returns exactly one record.
|
String |
toString()
Build a string representation of the Criteria for debugging purposes.
|
Criteria |
union(Criteria other)
Creates a SQL UNION between this Criteria and the passed other criteria.
|
Criteria |
unionAll(Criteria other)
Creates a SQL UNION ALL between this Criteria
and the passed other criteria.
|
Criteria |
where(Criterion criterion)
"AND"s Criterion object with the conditions in this Criteria.
|
Criteria |
where(Object lValue,
Object rValue)
"AND"s a new condition with the conditions in this Criteria.
|
Criteria |
where(Object lValue,
Object rValue,
SqlEnum comparison)
"AND"s a new condition with the conditions in this Criteria.
|
Criteria |
whereDate(Object lValue,
int year,
int month,
int day)
Convenience method to AND a new date comparison with the conditions
in this Criteria.
|
Criteria |
whereDate(Object lValue,
int year,
int month,
int day,
SqlEnum comparison)
Convenience method to AND a new date comparison with the conditions
in this Criteria.
|
Criteria |
whereIn(Object lValue,
Collection<?> rValues)
Convenience method to AND a "in" comparison with the conditions
in this Criteria.
|
Criteria |
whereIn(Object lValue,
Object[] rValues)
Convenience method to AND a "in" comparison with the conditions
in this Criteria.
|
Criteria |
whereNotIn(Object lValue,
Collection<?> rValues)
Convenience method to AND a "not in" comparison with the conditions
in this Criteria.
|
Criteria |
whereNotIn(Object lValue,
Object[] rValues)
Convenience method to AND a "not in" comparison with the conditions
in this Criteria.
|
Criteria |
whereVerbatimSql(String sql,
Object[] replacements)
Convenience method to AND a verbatim sql condition to this Criteria.
|
Criteria |
whereVerbatimSql(String sql,
Object[] replacements,
Column toAddToFromClause1,
Column toAddToFromClause2)
Convenience method to AND a verbatim sql condition to this Criteria.
|
public static final SqlEnum EQUAL
public static final SqlEnum NOT_EQUAL
public static final SqlEnum ALT_NOT_EQUAL
public static final SqlEnum GREATER_THAN
public static final SqlEnum LESS_THAN
public static final SqlEnum GREATER_EQUAL
public static final SqlEnum LESS_EQUAL
public static final SqlEnum LIKE
public static final SqlEnum NOT_LIKE
public static final SqlEnum ILIKE
public static final SqlEnum NOT_ILIKE
public static final SqlEnum DISTINCT
public static final SqlEnum IN
public static final SqlEnum NOT_IN
public static final SqlEnum ALL
public static final SqlEnum JOIN
public static final SqlEnum ISNULL
public static final SqlEnum ISNOTNULL
public static final SqlEnum CURRENT_DATE
public static final SqlEnum CURRENT_TIME
public static final SqlEnum CURRENT_TIMESTAMP
public static final JoinType LEFT_JOIN
public static final JoinType RIGHT_JOIN
public static final JoinType INNER_JOIN
public Criteria()
public Criteria(String dbName)
dbName
- The database name.public Criteria(Criteria toCopy)
toCopy
- the criteria to copy.protected void clear()
public Criteria addAsColumn(String name, Column clause)
Criteria myCrit = new Criteria();
myCrit.addAsColumn(
"alias",
"ALIAS("+MyPeer.ID+")");
If the name already exists, it is replaced by the new clause.
name
- wanted Name of the columnclause
- SQL clause to select from the tableTorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Map<String,Column> getAsColumns()
public Map<String,Object> getAliases()
public Criteria addAlias(String alias, String table)
alias
- the alias for the table name.table
- the table name as known in the database.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria addAlias(String alias, Criteria subselect)
alias
- the alias for the subselect.subselect
- the Criteria for the subselect.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public String getTableForAlias(String alias)
alias
- a String
value.String
value, or null if the alias is not defined.IllegalArgumentException
- if the alias with the name
alias
is defined but is no alias for a table name
(e.g. it is an alias for a subselect).public Criteria getSubselectForAlias(String alias)
alias
- a String
value.String
value, or null if the alias is not defined.IllegalArgumentException
- if the alias with the name
alias
is defined but is not an alias for a subselect
(e.g. it is an alias for a table).public Criterion getTopLevelCriterion()
public String getDbName()
public Criteria setDbName(String dbName)
null
denotes the
database name provided by Torque.getDefaultDB()
(but this is not resolved here).dbName
- The Database(Map) name.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria addHaving(Criterion having)
Criteria crit = new Criteria();
Criterion c =new Criterion(MyPeer.ID, 5, Criteria.LESS_THAN);
crit.addHaving(c);
having
- A Criterion objectTorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criterion getHaving()
public Criteria forUpdate()
TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria setForUpdate(boolean forUpdate)
forUpdate
- true if a FOR UPDATE clause should be added,
false if not.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public boolean isForUpdate()
public Criteria addJoin(Column left, Column right)
AND PROJECT.PROJECT_ID=FOO.PROJECT_ID
use
criteria.addJoin(ProjectPeer.PROJECT_ID, FooPeer.PROJECT_ID)
left
- A String with the left side of the join.right
- A String with the right side of the join.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria addJoin(Column left, Column right, JoinType joinType)
PROJECT LEFT JOIN FOO ON PROJECT.PROJECT_ID=FOO.PROJECT_ID
use
criteria.addJoin(ProjectPeer.PROJECT_ID, FooPeer.PROJECT_ID,
Criteria.LEFT_JOIN);
left
- A String with the left side of the join.right
- A String with the right side of the join.joinType
- The operator used for the join: must be one of null,
Criteria.LEFT_JOIN, Criteria.RIGHT_JOIN, Criteria.INNER_JOINTorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria addJoin(Column left, Column right, SqlEnum comparison, JoinType joinType)
PROJECT LEFT JOIN FOO ON PROJECT.PROJECT_ID <> FOO.PROJECT_ID
use
criteria.addJoin(
ProjectPeer.PROJECT_ID,
Criteria.NOT_EQUAL,
FooPeer.PROJECT_ID,
Criteria.LEFT_JOIN);
left
- A String with the left side of the join condition.right
- A String with the right side of the join condition.comparison
- the comparison operator, not null.
The operator CUSTOM is not supported.joinType
- The operator used for the join. Must be one of null,
Criteria.LEFT_JOIN, Criteria.RIGHT_JOIN, Criteria.INNER_JOINTorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria addJoin(String leftTable, String rightTable, Criterion joinCondition, JoinType joinType)
PROJECT LEFT JOIN FOO ON (PROJECT.PROJECT_ID=FOO.PROJECT_ID OR PROJECT.PROJECT_ID==FOO.PROJECT2_ID)
use
criteria.addJoin(
ProjectPeer.TABLE_NAME,
FooPeer.TABLE_NAME,
new Criterion(ProjectPeer.PROJECT_ID,
FooPeer.PROJECT_ID)
.or(Criterion(ProjectPeer.PROJECT_ID,
FooPeer.PROJECT"_ID))
Criteria.LEFT_JOIN);
If a default schema name is set for the used database
and leftTable or rightTable are a simple unqualified table names,
the default schema name is prepended to the table name.
For more complicated "table names", no schema resolution is done.
leftTable
- the left table of the join, or null to determine
the left table from the join condition.rightTable
- the left table of the join, or null to determine
the left table from the join condition.joinCondition
- the join condition, not null.joinType
- The operator used for the join. Must be one of null,
Criteria.LEFT_JOIN, Criteria.RIGHT_JOIN, Criteria.INNER_JOINTorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria addJoin(PreparedStatementPart leftTable, PreparedStatementPart rightTable, Criterion joinCondition, JoinType joinType)
PROJECT LEFT JOIN FOO ON PROJECT.PROJECT_ID=FOO.PROJECT_ID
use
criteria.addJoin(
new PreparedStatementPart(ProjectPeer.TABLE_NAME),
new PreparedStatementPart(FooPeer.TABLE_NAME),
new Criterion(ProjectPeer.PROJECT_ID,
FooPeer.PROJECT_ID,
Criteria.NOT_EQUAL)
Criteria.LEFT_JOIN);
.
If a default schema name is set for the used database
and leftTable or rightTable are a simple unqualified table names,
the default schema name is prepended to the table name.
For more complicated "table names", no schema resolution is done.
leftTable
- the left table of the join, might contain an alias name,
or null to be determined from the join clause.rightTable
- the right table of the join, might contain an alias
name, or null to be determined from the join clause.joinCondition
- the join condition, not null.joinType
- The operator used for the join. Must be one of null,
Criteria.LEFT_JOIN, Criteria.RIGHT_JOIN, Criteria.INNER_JOINTorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public List<Join> getJoins()
public Criteria setAll()
TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria setDistinct()
TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria setIgnoreCase(boolean ignoreCase)
ignoreCase
- True if case should be ignored.public boolean isIgnoreCase()
public Criteria setSingleRecord(boolean b)
true
if you want a TorqueException to be thrown
if none or multiple records are returned when the query is executed.
This should be used in situations where returning multiple
rows would indicate an error of some sort. If your query might return
multiple records but you are only interested in the first one then you
should be using setLimit(1).b
- set to true
if you expect the query to select
exactly one record.public boolean isSingleRecord()
public Criteria setLimit(int limit)
limit
- The upper limit for the number of records returned
by a query.public int getLimit()
public Criteria setOffset(long offset)
offset
- how many records should be skipped at the start of the
result.public long getOffset()
public Integer getFetchSize()
public Criteria setFetchSize(Integer fetchSize)
fetchSize
- the fetch size, or null for not set.public Criteria addSelectColumn(Column column)
column
- The select column to add.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public UniqueColumnList getSelectColumns()
public UniqueList<String> getSelectModifiers()
public Criteria addGroupByColumn(Column groupBy)
groupBy
- The column to group by.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public UniqueColumnList getGroupByColumns()
public Criteria addAscendingOrderByColumn(Column column)
column
- The column to order by.public Criteria addAscendingOrderByColumn(Column column, boolean ignoreCase)
column
- The column to order by.ignoreCase
- whether to ignore case on String columns.public Criteria addDescendingOrderByColumn(Column column)
column
- The column to order by.public Criteria addDescendingOrderByColumn(Column column, boolean ignoreCase)
column
- The column to order by.ignoreCase
- whether to ignore case on String columns.public UniqueList<OrderBy> getOrderByColumns()
public UniqueList<FromElement> getFromElements()
public Criteria addFrom(String tableName)
tableName
- the table nameTorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria addFrom(FromElement fromElement)
fromElement
- the element to add fromTorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public String toString()
public boolean equals(Object object)
public int hashCode()
public Object clone()
public Criteria and(Criterion criterion)
Criteria crit = new Criteria();
Criterion c = new Criterion(XXXPeer.ID, Integer.valueOf(5),
Criteria.LESS_THAN);
crit.and(c);
criterion
- A Criterion object.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria and(Object lValue, Object rValue)
lValue
- The left hand side of the comparison, not null.
If this object implements the Column interface, it is interpreted
as a (pseudo)column.
If this object is a Criteria, it is interpreted as a subselect.
In all other cases, (e.g. string object), it is interpreted as
literal value.rValue
- The right hand side of the comparison, may be null.
If this object is a unary comparison operator, it is taken as
comparison operator of the condition to add.
If this object implements the Column interface, it is interpreted
as a (pseudo)column.
If this object is a Criteria, it is interpreted as a subselect.
In all other cases, (e.g. string object), it is interpreted as
literal value.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria and(Object lValue, Object rValue, SqlEnum comparison)
lValue
- The left hand side of the comparison, not null.
If this object implements the Column interface, it is interpreted
as a (pseudo)column.
If this object is a Criteria, it is interpreted as a subselect.
In all other cases, (e.G. string object), it is interpreted as
literal value.rValue
- The right hand side of the comparison, may be null.
If this object implements the Column interface, it is interpreted
as a (pseudo)column.
If this object is a Criteria, it is interpreted as a subselect.
In all other cases, (e.G. string object), it is interpreted as
literal value.comparison
- the comparison, or Criteria.CUSTOM
to specify the expression manually in the rValue parameter.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria andDate(Object lValue, int year, int month, int day)
and(column, new GregorianCalendar(year, month,date), EQUAL);
lValue
- The left hand side of the comparison, not null.
If this object implements the Column interface, it is interpreted
as a (pseudo)column.
If this object is a Criteria, it is interpreted as a subselect.
In all other cases, (e.G. string object), it is interpreted as
literal value.year
- The year to compare to.month
- The month to compare to.day
- The day to compare to.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria andDate(Object lValue, int year, int month, int day, SqlEnum comparison)
and(column, new GregorianCalendar(year, month,date), comparison);
lValue
- The left hand side of the comparison, not null.
If this object implements the Column interface, it is interpreted
as a (pseudo)column.
If this object is a Criteria, it is interpreted as a subselect.
In all other cases, (e.G. string object), it is interpreted as
literal value.year
- The year to compare to.month
- The month to compare to.day
- The day to compare to.comparison
- The comparison operator.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria andIn(Object lValue, Object[] rValues)
FOO.NAME IN (${values})
where ${values} contains the values to compare against.
lValue
- The left hand side of the comparison, not null.
If this object implements the Column interface, it is interpreted
as a (pseudo)column.
If this object is a Criteria, it is interpreted as a subselect.
In all other cases, (e.G. string object), it is interpreted as
literal value.rValues
- The values to compare against.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria andIn(Object lValue, Collection<?> rValues)
FOO.NAME IN (${values})
where ${values} contains the values to compare against.
lValue
- The left hand side of the comparison, not null.
If this object implements the Column interface, it is interpreted
as a (pseudo)column.
If this object is a Criteria, it is interpreted as a subselect.
In all other cases, (e.G. string object), it is interpreted as
literal value.rValues
- The values to compare against.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria andNotIn(Object lValue, Object[] rValues)
FOO.NAME NOT IN (${values})
where ${values} contains the values to compare against.
lValue
- The left hand side of the comparison, not null.
If this object implements the Column interface, it is interpreted
as a (pseudo)column.
If this object is a Criteria, it is interpreted as a subselect.
In all other cases, (e.G. string object), it is interpreted as
literal value.rValues
- The values to compare against.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria andNotIn(Object lValue, Collection<?> rValues)
FOO.NAME NOT IN (${values})
where ${values} contains the values to compare against.
lValue
- The left hand side of the comparison, not null.
If this object implements the Column interface, it is interpreted
as a (pseudo)column.
If this object is a Criteria, it is interpreted as a subselect.
In all other cases, (e.G. string object), it is interpreted as
literal value.rValues
- The values to compare against.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria andVerbatimSql(String sql, Object[] replacements)
Criteria criteria = ...;
criteria.andVerbatimSql("count(foo.x) = ?", new Object[] {0});
sql
- the verbatim SQL to use.replacements
- the replacements for the "?" placeholders in SQL.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria andVerbatimSql(String sql, Object[] replacements, Column toAddToFromClause1, Column toAddToFromClause2)
Criteria criteria = new Criteria();
criteria.andVerbatimSql(
"count(foo.x) = ?",
new Object[] {0},
FooPeer.X,
null);
sql
- the verbatim SQL to use.replacements
- the replacements for the "?" placeholders in SQL.toAddToFromClause1
- a column to add to from clause, may be null.toAddToFromClause2
- a column to add to from clause, may be null.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria or(Criterion criterion)
Criteria crit = new Criteria();
Criterion c = new Criterion(XXXPeer.ID, Integer.valueOf(5),
Criteria.LESS_THAN);
crit.or(c);
criterion
- A Criterion object.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria or(Object lValue, Object rValue)
lValue
- The left hand side of the comparison, not null.
If this object implements the Column interface, it is interpreted
as a (pseudo)column.
If this object is a Criteria, it is interpreted as a subselect.
In all other cases, (e.g. string object), it is interpreted as
literal value.rValue
- The right hand side of the comparison, may be null.
If this object is a unary comparison operator, it is taken as
comparison operator of the condition to add.
If this object implements the Column interface, it is interpreted
as a (pseudo)column.
If this object is a Criteria, it is interpreted as a subselect.
In all other cases, (e.g. string object), it is interpreted as
literal value.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria or(Object lValue, Object rValue, SqlEnum comparison)
lValue
- The left hand side of the comparison, not null.
If this object implements the Column interface, it is interpreted
as a (pseudo)column.
If this object is a Criteria, it is interpreted as a subselect.
In all other cases, (e.G. string object), it is interpreted as
literal value.rValue
- The right hand side of the comparison, may be null.
If this object implements the Column interface, it is interpreted
as a (pseudo)column.
If this object is a Criteria, it is interpreted as a subselect.
In all other cases, (e.G. string object), it is interpreted as
literal value.comparison
- the comparison, or Criteria.CUSTOM
to specify the expression manually in the value parameter.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria orDate(Object lValue, int year, int month, int day)
or(column, new GregorianCalendar(year, month,date), EQUAL);
lValue
- The left hand side of the comparison, not null.
If this object implements the Column interface, it is interpreted
as a (pseudo)column.
If this object is a Criteria, it is interpreted as a subselect.
In all other cases, (e.G. string object), it is interpreted as
literal value.year
- The year to compare to.month
- The month to compare to.day
- The day to compare to.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria orDate(Object lValue, int year, int month, int day, SqlEnum comparison)
or(column, new GregorianCalendar(year, month,date), comparison);
lValue
- The left hand side of the comparison, not null.
If this object implements the Column interface, it is interpreted
as a (pseudo)column.
If this object is a Criteria, it is interpreted as a subselect.
In all other cases, (e.G. string object), it is interpreted as
literal value.year
- The year to compare to.month
- The month to compare to.day
- The day to compare to.comparison
- The comparison operator.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria orIn(Object lValue, Object[] rValues)
FOO.NAME IN (${values})
where ${values} contains the values to compare against.
lValue
- The left hand side of the comparison, not null.
If this object implements the Column interface, it is interpreted
as a (pseudo)column.
If this object is a Criteria, it is interpreted as a subselect.
In all other cases, (e.G. string object), it is interpreted as
literal value.rValues
- The values to compare against.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria orIn(Object lValue, Collection<?> rValues)
FOO.NAME IN (${values})
where ${values} contains the values to compare against.
lValue
- The left hand side of the comparison, not null.
If this object implements the Column interface, it is interpreted
as a (pseudo)column.
If this object is a Criteria, it is interpreted as a subselect.
In all other cases, (e.G. string object), it is interpreted as
literal value.rValues
- The values to compare against.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria orNotIn(Object lValue, Object[] rValues)
FOO.NAME NOT IN (${values})
where ${values} contains the values to compare against.
lValue
- The left hand side of the comparison, not null.
If this object implements the Column interface, it is interpreted
as a (pseudo)column.
If this object is a Criteria, it is interpreted as a subselect.
In all other cases, (e.G. string object), it is interpreted as
literal value.rValues
- The values to compare against.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria orNotIn(Object lValue, Collection<?> rValues)
FOO.NAME NOT IN (${values})
where ${values} contains the values to compare against.
lValue
- The left hand side of the comparison, not null.
If this object implements the Column interface, it is interpreted
as a (pseudo)column.
If this object is a Criteria, it is interpreted as a subselect.
In all other cases, (e.G. string object), it is interpreted as
literal value.rValues
- The values to compare against.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria orVerbatimSql(String sql, Object[] replacements)
Criteria criteria = ...;
criteria.orVerbatimSql("count(foo.x) = ?", new Object[] {0});
sql
- the verbatim SQL to use.replacements
- the replacements for the "?" placeholders in SQL.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria orVerbatimSql(String sql, Object[] replacements, Column toAddToFromClause1, Column toAddToFromClause2)
Criteria criteria = new Criteria();
criteria.orVerbatimSql(
"count(foo.x) = ?",
new Object[] {0},
FooPeer.X,
null);
sql
- the verbatim SQL to use.replacements
- the replacements for the "?" placeholders in SQL.toAddToFromClause1
- a column to add to from clause, may be null.toAddToFromClause2
- a column to add to from clause, may be null.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria where(Criterion criterion)
#and(Criterion)
but better to read if this is
the first condition to be added to the Criteria.criterion
- A Criterion object.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria where(Object lValue, Object rValue)
#and(Object, Object)
but better to read
if this is the first condition to be added to the Criteria.
Depending on rValue, the condition is constructed differently:
Either rValue is a unary comparison operator (i.e. is a SqlEnum and
getNumberOfCompareOperands() == 1) (e.g. Criteria.ISNULL),
then lValue is taken as single operand of the operator
ant the passed operator is used for comparison.
Otherwise, an EQUAL comparison is used for comparing rValue and lValue.lValue
- The left hand side of the comparison, not null.
If this object implements the Column interface, it is interpreted
as a (pseudo)column.
If this object is a Criteria, it is interpreted as a subselect.
In all other cases, (e.g. string object), it is interpreted as
literal value.rValue
- The right hand side of the comparison, may be null.
If this object is a unary comparison operator, it is taken as
comparison operator of the condition to add.
If this object implements the Column interface, it is interpreted
as a (pseudo)column.
If this object is a Criteria, it is interpreted as a subselect.
In all other cases, (e.g. string object), it is interpreted as
literal value.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria where(Object lValue, Object rValue, SqlEnum comparison)
#and(Column, Object, SqlEnum)
but better to
read if this is the first condition to be added to the Criteria.lValue
- The left hand side of the comparison, not null.
If this object implements the Column interface, it is interpreted
as a (pseudo)column.
If this object is a Criteria, it is interpreted as a subselect.
In all other cases, (e.G. string object), it is interpreted as
literal value.rValue
- The right hand side of the comparison, may be null.
If this object implements the Column interface, it is interpreted
as a (pseudo)column.
If this object is a Criteria, it is interpreted as a subselect.
In all other cases, (e.G. string object), it is interpreted as
literal value.comparison
- the comparison, or Criteria.CUSTOM
to specify the expression manually in the value parameter.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria whereDate(Object lValue, int year, int month, int day)
#andDate(Column, int, int, int)
but better to read
if this is the first condition to be added to the Criteria.lValue
- The left hand side of the comparison, not null.
If this object implements the Column interface, it is interpreted
as a (pseudo)column.
If this object is a Criteria, it is interpreted as a subselect.
In all other cases, (e.G. string object), it is interpreted as
literal value.year
- The year to compare to.month
- The month to compare to.day
- The day to compare to.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria whereDate(Object lValue, int year, int month, int day, SqlEnum comparison)
#andDate(Column, int, int, int, SqlEnum)
but better to read
if this is the first condition to be added to the Criteria.lValue
- The left hand side of the comparison, not null.
If this object implements the Column interface, it is interpreted
as a (pseudo)column.
If this object is a Criteria, it is interpreted as a subselect.
In all other cases, (e.G. string object), it is interpreted as
literal value.year
- The year to compare to.month
- The month to compare to.day
- The day to compare to.comparison
- The comparison operator.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria whereIn(Object lValue, Object[] rValues)
#andIn(Column, Object[])
but better to read if this is the first condition to be added
to the Criteria.lValue
- The left hand side of the comparison, not null.
If this object implements the Column interface, it is interpreted
as a (pseudo)column.
If this object is a Criteria, it is interpreted as a subselect.
In all other cases, (e.G. string object), it is interpreted as
literal value.rValues
- The values to compare against.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria whereIn(Object lValue, Collection<?> rValues)
#andIn(Column, Collection)
but better to read if this is the first condition to be added
to the Criteria.lValue
- The left hand side of the comparison, not null.
If this object implements the Column interface, it is interpreted
as a (pseudo)column.
If this object is a Criteria, it is interpreted as a subselect.
In all other cases, (e.G. string object), it is interpreted as
literal value.rValues
- The values to compare against.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria whereNotIn(Object lValue, Object[] rValues)
#andNotIn(Column, Object[])
but better to read
if this is the first condition to be added to the Criteria.lValue
- The left hand side of the comparison, not null.
If this object implements the Column interface, it is interpreted
as a (pseudo)column.
If this object is a Criteria, it is interpreted as a subselect.
In all other cases, (e.G. string object), it is interpreted as
literal value.rValues
- The values to compare against.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria whereNotIn(Object lValue, Collection<?> rValues)
#andNotIn(Column, Collection)
but better to read
if this is the first condition to be added to the Criteria.lValue
- The left hand side of the comparison, not null.
If this object implements the Column interface, it is interpreted
as a (pseudo)column.
If this object is a Criteria, it is interpreted as a subselect.
In all other cases, (e.G. string object), it is interpreted as
literal value.rValues
- The values to compare against.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria whereVerbatimSql(String sql, Object[] replacements)
#andNotIn(String, String[])
but better to read
if this is the first condition to be added to the Criteria.
This is used as follows:
Criteria criteria = new Criteria();
criteria.whereVerbatimSql("count(foo.x) = ?", new Object[] {0});
sql
- the verbatim SQL to use.replacements
- the replacements for the "?" placeholders in SQL.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria whereVerbatimSql(String sql, Object[] replacements, Column toAddToFromClause1, Column toAddToFromClause2)
#andNotIn(String, String[], Column, Column)
but better
to read if this is the first condition to be added to the Criteria.
This is used as follows:
Criteria criteria = new Criteria();
criteria.whereVerbatimSql(
"count(foo.x) = ?",
new Object[] {0},
FooPeer.X,
null);
sql
- the verbatim SQL to use.replacements
- the replacements for the "?" placeholders in SQL.toAddToFromClause1
- a column to add to from clause, may be null.toAddToFromClause2
- a column to add to from clause, may be null.TorqueRuntimeException
- if this operation is performed on a
Criteria composed of set parts (e.g. union, intersect, except).public Criteria union(Criteria other)
other
- the other part of the union.public Criteria unionAll(Criteria other)
other
- the other part of the union.public Criteria intersect(Criteria other)
other
- the other part of the union.public Criteria intersectAll(Criteria other)
other
- the other part of the union.public Criteria except(Criteria other)
other
- the other part of the union.public Criteria exceptAll(Criteria other)
other
- the other part of the union.protected void appendSetOperation(Criteria other, SqlEnum setOperator)
other
- the other criteria, not null.setOperator
- the set operator, not null.NullPointerException
- if other or setOperator are null.public List<Criteria> getSetCriteriaParts()
public SqlEnum getSetOperator()
public boolean isComposite()
protected void assertNoComposite()
TorqueRuntimeException
- if this Criteria is a composite Criteria.Copyright © 2000–2020 The Apache Software Foundation. All rights reserved.