Class Criteria
- java.lang.Object
-
- org.apache.torque.criteria.Criteria
-
- All Implemented Interfaces:
Serializable
,Cloneable
public class Criteria extends Object implements Serializable, Cloneable
Encapsulates conditions to access rows in database tables.- Version:
- $Id: Criteria.java 1867515 2019-09-25 15:02:03Z gk $
- Author:
- Frank Y. Kim, John D. McNally, Brett McLaughlin, Eric Dobbs, Henning P. Schmiedehausen, Sam Joseph, Martin Poeschl, Thomas Fischer, Scott Eade, Thomas Vandahl
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static SqlEnum
ALL
Comparison type.static SqlEnum
ALT_NOT_EQUAL
Comparison type.static SqlEnum
CURRENT_DATE
"CURRENT_DATE" ANSI SQL functionstatic SqlEnum
CURRENT_TIME
"CURRENT_TIME" ANSI SQL functionstatic SqlEnum
CURRENT_TIMESTAMP
"CURRENT_TIMESTAMP" ANSI SQL functionstatic 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 statementstatic SqlEnum
ISNOTNULL
"IS NOT NULL" null comparisonstatic SqlEnum
ISNULL
"IS NULL" null comparisonstatic SqlEnum
JOIN
Comparison type.static JoinType
LEFT_JOIN
"LEFT JOIN" SQL statementstatic 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
-
Method Summary
Modifier and Type Method Description Criteria
addAlias(String alias, String table)
Allows one to specify an alias for a table.Criteria
addAlias(String alias, Criteria subselect)
Allows one to specify an alias for a subselect.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(String tableName)
Adds a table to the from clause, not using a joinType or joinCondition.Criteria
addFrom(FromElement fromElement)
Adds a new Element to the from clause.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(String leftTable, String rightTable, Criterion joinCondition, JoinType joinType)
Adds a join to the criteria.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
addSelectColumn(Column column)
Adds a select column to the 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
and(Criterion criterion)
"AND"s Criterion object 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, Object[] rValues)
Convenience method to AND a "in" 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
andNotIn(Object lValue, Object[] rValues)
Convenience method to AND a "not 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
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(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
or(Criterion criterion)
"OR"s a Criterion object 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, Object[] rValues)
Convenience method to OR a "in" 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
orNotIn(Object lValue, Object[] rValues)
Convenience method to OR a "not 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
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 queryCriteria
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(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
where(Criterion criterion)
"AND"s Criterion object 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, Object[] rValues)
Convenience method to AND a "in" 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
whereNotIn(Object lValue, Object[] rValues)
Convenience method to AND a "not 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
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.
-
-
-
Field Detail
-
EQUAL
public static final SqlEnum EQUAL
Comparison type.
-
NOT_EQUAL
public static final SqlEnum NOT_EQUAL
Comparison type.
-
ALT_NOT_EQUAL
public static final SqlEnum ALT_NOT_EQUAL
Comparison type.
-
GREATER_THAN
public static final SqlEnum GREATER_THAN
Comparison type.
-
LESS_THAN
public static final SqlEnum LESS_THAN
Comparison type.
-
GREATER_EQUAL
public static final SqlEnum GREATER_EQUAL
Comparison type.
-
LESS_EQUAL
public static final SqlEnum LESS_EQUAL
Comparison type.
-
LIKE
public static final SqlEnum LIKE
Comparison type.
-
NOT_LIKE
public static final SqlEnum NOT_LIKE
Comparison type.
-
ILIKE
public static final SqlEnum ILIKE
Comparison type.
-
NOT_ILIKE
public static final SqlEnum NOT_ILIKE
Comparison type.
-
DISTINCT
public static final SqlEnum DISTINCT
Comparison type.
-
IN
public static final SqlEnum IN
Comparison type.
-
NOT_IN
public static final SqlEnum NOT_IN
Comparison type.
-
ALL
public static final SqlEnum ALL
Comparison type.
-
JOIN
public static final SqlEnum JOIN
Comparison type.
-
ISNULL
public static final SqlEnum ISNULL
"IS NULL" null comparison
-
ISNOTNULL
public static final SqlEnum ISNOTNULL
"IS NOT NULL" null comparison
-
CURRENT_DATE
public static final SqlEnum CURRENT_DATE
"CURRENT_DATE" ANSI SQL function
-
CURRENT_TIME
public static final SqlEnum CURRENT_TIME
"CURRENT_TIME" ANSI SQL function
-
CURRENT_TIMESTAMP
public static final SqlEnum CURRENT_TIMESTAMP
"CURRENT_TIMESTAMP" ANSI SQL function
-
LEFT_JOIN
public static final JoinType LEFT_JOIN
"LEFT JOIN" SQL statement
-
RIGHT_JOIN
public static final JoinType RIGHT_JOIN
"RIGHT JOIN" SQL statement
-
INNER_JOIN
public static final JoinType INNER_JOIN
"INNER JOIN" SQL statement
-
-
Constructor Detail
-
Criteria
public Criteria()
Constructor.
-
Criteria
public Criteria(String dbName)
Constructor with the database name as parameter..- Parameters:
dbName
- The database name.
-
Criteria
public Criteria(Criteria toCopy)
Copy-constructor. The copy is deep insofar as all contained lists are copied, however the elements contained in the list are not copied.- Parameters:
toCopy
- the criteria to copy.
-
-
Method Detail
-
clear
protected void clear()
Resets this Criteria to its original state.
-
addAsColumn
public Criteria addAsColumn(String name, Column clause)
Add an AS clause to the select columns. Usage:Criteria myCrit = new Criteria(); myCrit.addAsColumn( "alias", "ALIAS("+MyPeer.ID+")");
If the name already exists, it is replaced by the new clause.- Parameters:
name
- wanted Name of the columnclause
- SQL clause to select from the table- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
getAsColumns
public Map<String,Column> getAsColumns()
Get the column aliases.- Returns:
- A Map which map the column alias names to the alias clauses.
-
getAliases
public Map<String,Object> getAliases()
Get the table aliases.- Returns:
- A Map which maps the table alias names to either the actual table names (String) or to a subselect (Criteria).
-
addAlias
public Criteria addAlias(String alias, String table)
Allows one to specify an alias for a table.- Parameters:
alias
- the alias for the table name.table
- the table name as known in the database.- Returns:
- the Criteria object
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
addAlias
public Criteria addAlias(String alias, Criteria subselect)
Allows one to specify an alias for a subselect.- Parameters:
alias
- the alias for the subselect.subselect
- the Criteria for the subselect.- Returns:
- the Criteria object
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
getTableForAlias
public String getTableForAlias(String alias)
Returns the database table name associated with an alias.- Parameters:
alias
- aString
value.- Returns:
- a
String
value, or null if the alias is not defined. - Throws:
IllegalArgumentException
- if the alias with the namealias
is defined but is no alias for a table name (e.g. it is an alias for a subselect).
-
getSubselectForAlias
public Criteria getSubselectForAlias(String alias)
Returns the subselect associated with an alias.- Parameters:
alias
- aString
value.- Returns:
- a
String
value, or null if the alias is not defined. - Throws:
IllegalArgumentException
- if the alias with the namealias
is defined but is not an alias for a subselect (e.g. it is an alias for a table).
-
getTopLevelCriterion
public Criterion getTopLevelCriterion()
Returns the top level Criterion.- Returns:
- the top level Criterion, or null if no Criterion is contained.
-
getDbName
public String getDbName()
Get the Database name to be used for this criterion.- Returns:
- The database name, may be null.
-
setDbName
public Criteria setDbName(String dbName)
Set the Database name. The valuenull
denotes the database name provided byTorque.getDefaultDB()
(but this is not resolved here).- Parameters:
dbName
- The Database(Map) name.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
addHaving
public Criteria addHaving(Criterion having)
This method adds a prepared Criterion object to the Criteria as a having clause. Usage:Criteria crit = new Criteria(); Criterion c =new Criterion(MyPeer.ID, 5, Criteria.LESS_THAN); crit.addHaving(c);
- Parameters:
having
- A Criterion object- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
getHaving
public Criterion getHaving()
Get Having Criterion.- Returns:
- A Criterion that is the having clause.
-
forUpdate
public Criteria forUpdate()
Sets that FOR UPDATE clause should be added to the query.- Returns:
- this object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
setForUpdate
public Criteria setForUpdate(boolean forUpdate)
Sets whether FOR UPDATE clause should be added to the query.- Parameters:
forUpdate
- true if a FOR UPDATE clause should be added, false if not.- Returns:
- this object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
isForUpdate
public boolean isForUpdate()
Returns whether a FOR UPDATE clause is added.- Returns:
- true if a FOR UPDATE clause is added, false otherwise.
-
addJoin
public Criteria addJoin(Column left, Column right)
Adds a join to the criteria, E.g. to create the conditionAND PROJECT.PROJECT_ID=FOO.PROJECT_ID
use
criteria.addJoin(ProjectPeer.PROJECT_ID, FooPeer.PROJECT_ID)
- Parameters:
left
- A String with the left side of the join.right
- A String with the right side of the join.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
addJoin
public Criteria addJoin(Column left, Column right, JoinType joinType)
Adds a join to the criteria, E.g. to create the conditionPROJECT LEFT JOIN FOO ON PROJECT.PROJECT_ID=FOO.PROJECT_ID
use
criteria.addJoin(ProjectPeer.PROJECT_ID, FooPeer.PROJECT_ID, Criteria.LEFT_JOIN);
- Parameters:
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_JOIN- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
addJoin
public Criteria addJoin(Column left, Column right, SqlEnum comparison, JoinType joinType)
Adds a join to the criteria, E.g. to create the conditionPROJECT 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);
- Parameters:
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_JOIN- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
addJoin
public Criteria addJoin(String leftTable, String rightTable, Criterion joinCondition, JoinType joinType)
Adds a join to the criteria. For creating standard joins, please use addJoin(Column, Column, (SqlEnum, ) 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.- Parameters:
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_JOIN- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
addJoin
public Criteria addJoin(PreparedStatementPart leftTable, PreparedStatementPart rightTable, Criterion joinCondition, JoinType joinType)
Adds a join to the criteria, E.g. to create the conditionPROJECT 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.- Parameters:
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_JOIN- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
getJoins
public List<Join> getJoins()
Get the List of Joins.- Returns:
- a List which contains objects of type Join, not null.
-
setAll
public Criteria setAll()
Adds "ALL " to the SQL statement.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
setDistinct
public Criteria setDistinct()
Adds "DISTINCT " to the SQL statement.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
setIgnoreCase
public Criteria setIgnoreCase(boolean ignoreCase)
Sets whether case should be ignored in where clauses and order by whenever String columns are encountered.- Parameters:
ignoreCase
- True if case should be ignored.- Returns:
- A modified Criteria object.
-
isIgnoreCase
public boolean isIgnoreCase()
Returns whether case should be ignored in where clauses and order by whenever String columns are encountered.- Returns:
- True if case is ignored.
-
setSingleRecord
public Criteria setSingleRecord(boolean b)
Switch the check on or off that a query returns exactly one record. Set this totrue
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).- Parameters:
b
- set totrue
if you expect the query to select exactly one record.- Returns:
- A modified Criteria object.
-
isSingleRecord
public boolean isSingleRecord()
Returns whether the check that a query returns exactly one record is active.- Returns:
- True if the check for exactly one record is active.
-
setLimit
public Criteria setLimit(int limit)
Set a limit for the query- Parameters:
limit
- The upper limit for the number of records returned by a query.- Returns:
- A modified Criteria object.
-
getLimit
public int getLimit()
Get the upper limit for the number of records returned by a query.- Returns:
- The value for limit.
-
setOffset
public Criteria setOffset(long offset)
Set the offset.- Parameters:
offset
- how many records should be skipped at the start of the result.- Returns:
- A modified Criteria object.
-
getOffset
public long getOffset()
Get how many records should be skipped at the start of the result.- Returns:
- The value for offset.
-
getFetchSize
public Integer getFetchSize()
Returns the JDBC statement fetch size to use for queries.- Returns:
- the fetch size, or null if none is set.
-
setFetchSize
public Criteria setFetchSize(Integer fetchSize)
Sets the JDBC statement fetch size to use for queries.- Parameters:
fetchSize
- the fetch size, or null for not set.- Returns:
- A modified Criteria object.
-
addSelectColumn
public Criteria addSelectColumn(Column column)
Adds a select column to the Criteria.- Parameters:
column
- The select column to add.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
getSelectColumns
public UniqueColumnList getSelectColumns()
Return all select columns.- Returns:
- An List with the names of the select columns, not null
-
getSelectModifiers
public UniqueList<String> getSelectModifiers()
Return all select modifiers.- Returns:
- An UniqueList with the select modifiers.
-
addGroupByColumn
public Criteria addGroupByColumn(Column groupBy)
Add a group by clause.- Parameters:
groupBy
- The column to group by.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
getGroupByColumns
public UniqueColumnList getGroupByColumns()
Get all group by columns.- Returns:
- An UniqueList with the name of the groupBy clause, not null.
-
addAscendingOrderByColumn
public Criteria addAscendingOrderByColumn(Column column)
Adds an order by clause, explicitly specifying ascending.- Parameters:
column
- The column to order by.- Returns:
- A modified Criteria object.
-
addAscendingOrderByColumn
public Criteria addAscendingOrderByColumn(Column column, boolean ignoreCase)
Add an order by clause, explicitly specifying ascending.- Parameters:
column
- The column to order by.ignoreCase
- whether to ignore case on String columns.- Returns:
- A modified Criteria object.
-
addDescendingOrderByColumn
public Criteria addDescendingOrderByColumn(Column column)
Add order by column name, explicitly specifying descending.- Parameters:
column
- The column to order by.- Returns:
- A modified Criteria object.
-
addDescendingOrderByColumn
public Criteria addDescendingOrderByColumn(Column column, boolean ignoreCase)
Add order by column name, explicitly specifying descending.- Parameters:
column
- The column to order by.ignoreCase
- whether to ignore case on String columns.- Returns:
- A modified Criteria object.
-
getOrderByColumns
public UniqueList<OrderBy> getOrderByColumns()
Get all order by columns.- Returns:
- An UniqueList with the name of the order columns, not null.
-
getFromElements
public UniqueList<FromElement> getFromElements()
Get all elements in the from clause of the query.- Returns:
- An UniqueList with all from elements, not null. Empty if the from elements should be computed automatically.
-
addFrom
public Criteria addFrom(String tableName)
Adds a table to the from clause, not using a joinType or joinCondition.- Parameters:
tableName
- the table name- Returns:
- the modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
addFrom
public Criteria addFrom(FromElement fromElement)
Adds a new Element to the from clause.- Parameters:
fromElement
- the element to add from- Returns:
- the modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
toString
public String toString()
Build a string representation of the Criteria for debugging purposes.
-
equals
public boolean equals(Object object)
Checks whether an object is equal to this Criteria. This is the case if the other object is also a Criteria and has the same attributes and criterions.
-
hashCode
public int hashCode()
Returns the hash code value for this Criteria.
-
clone
public Object clone()
Returns a shallow copy of this object.
-
and
public Criteria and(Criterion criterion)
"AND"s Criterion object with the conditions in this Criteria. This is used as follows:Criteria crit = new Criteria(); Criterion c = new Criterion(XXXPeer.ID, Integer.valueOf(5), Criteria.LESS_THAN); crit.and(c);
- Parameters:
criterion
- A Criterion object.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
and
public Criteria and(Object lValue, Object rValue)
"AND"s a new condition with the conditions in this 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.- Parameters:
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.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
and
public Criteria and(Object lValue, Object rValue, SqlEnum comparison)
"AND"s a new condition with the conditions in this Criteria.- Parameters:
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, orCriteria.CUSTOM
to specify the expression manually in the rValue parameter.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
andDate
public Criteria andDate(Object lValue, int year, int month, int day)
Convenience method to AND a new date comparison with the conditions in this Criteria. Equal toand(column, new GregorianCalendar(year, month,date), EQUAL);
- Parameters:
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.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
andDate
public 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. Equal toand(column, new GregorianCalendar(year, month,date), comparison);
- Parameters:
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.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
andIn
public Criteria andIn(Object lValue, Object[] rValues)
Convenience method to AND a "in" comparison with the conditions in this Criteria. Creates the conditionFOO.NAME IN (${values})
where ${values} contains the values to compare against.
- Parameters:
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.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
andIn
public Criteria andIn(Object lValue, Collection<?> rValues)
Convenience method to AND a "in" comparison with the conditions in this Criteria. Creates the conditionFOO.NAME IN (${values})
where ${values} contains the values to compare against.
- Parameters:
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.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
andNotIn
public Criteria andNotIn(Object lValue, Object[] rValues)
Convenience method to AND a "not in" comparison with the conditions in this Criteria. Creates the conditionFOO.NAME NOT IN (${values})
where ${values} contains the values to compare against.
- Parameters:
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.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
andNotIn
public Criteria andNotIn(Object lValue, Collection<?> rValues)
Convenience method to AND a "not in" comparison with the conditions in this Criteria. Creates the conditionFOO.NAME NOT IN (${values})
where ${values} contains the values to compare against.
- Parameters:
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.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
andVerbatimSql
public Criteria andVerbatimSql(String sql, Object[] replacements)
Ands a verbatim sql condition to this Criteria. This is used as follows:Criteria criteria = ...; criteria.andVerbatimSql("count(foo.x) = ?", new Object[] {0});
- Parameters:
sql
- the verbatim SQL to use.replacements
- the replacements for the "?" placeholders in SQL.- Returns:
- the modified Criteria.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
andVerbatimSql
public Criteria andVerbatimSql(String sql, Object[] replacements, Column toAddToFromClause1, Column toAddToFromClause2)
ANDs a verbatim sql condition to this Criteria. This is used as follows:Criteria criteria = new Criteria(); criteria.andVerbatimSql( "count(foo.x) = ?", new Object[] {0}, FooPeer.X, null);
- Parameters:
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.- Returns:
- the modified Criteria.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
or
public Criteria or(Criterion criterion)
"OR"s a Criterion object with the conditions in this Criteria. This is used as follows:Criteria crit = new Criteria(); Criterion c = new Criterion(XXXPeer.ID, Integer.valueOf(5), Criteria.LESS_THAN); crit.or(c);
- Parameters:
criterion
- A Criterion object.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
or
public Criteria or(Object lValue, Object rValue)
"OR"s a new condition with the conditions in this 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.- Parameters:
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.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
or
public Criteria or(Object lValue, Object rValue, SqlEnum comparison)
"OR"s a new condition with the conditions in this Criteria.- Parameters:
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, orCriteria.CUSTOM
to specify the expression manually in the value parameter.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
orDate
public Criteria orDate(Object lValue, int year, int month, int day)
Convenience method to OR a new date comparison with the conditions in this Criteria. Equal toor(column, new GregorianCalendar(year, month,date), EQUAL);
- Parameters:
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.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
orDate
public 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. Equal toor(column, new GregorianCalendar(year, month,date), comparison);
- Parameters:
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.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
orIn
public Criteria orIn(Object lValue, Object[] rValues)
Convenience method to OR a "in" comparison with the conditions in this Criteria. Creates the conditionFOO.NAME IN (${values})
where ${values} contains the values to compare against.
- Parameters:
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.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
orIn
public Criteria orIn(Object lValue, Collection<?> rValues)
Convenience method to OR a "in" comparison with the conditions in this Criteria. Creates the conditionFOO.NAME IN (${values})
where ${values} contains the values to compare against.
- Parameters:
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.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
orNotIn
public Criteria orNotIn(Object lValue, Object[] rValues)
Convenience method to OR a "not in" comparison with the conditions in this Criteria. Creates the conditionFOO.NAME NOT IN (${values})
where ${values} contains the values to compare against.
- Parameters:
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.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
orNotIn
public Criteria orNotIn(Object lValue, Collection<?> rValues)
Convenience method to OR a "not in" comparison with the conditions in this Criteria. Creates the conditionFOO.NAME NOT IN (${values})
where ${values} contains the values to compare against.
- Parameters:
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.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
orVerbatimSql
public Criteria orVerbatimSql(String sql, Object[] replacements)
ORs a verbatim sql condition to this Criteria. This is used as follows:Criteria criteria = ...; criteria.orVerbatimSql("count(foo.x) = ?", new Object[] {0});
- Parameters:
sql
- the verbatim SQL to use.replacements
- the replacements for the "?" placeholders in SQL.- Returns:
- the modified Criteria.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
orVerbatimSql
public Criteria orVerbatimSql(String sql, Object[] replacements, Column toAddToFromClause1, Column toAddToFromClause2)
ORs a verbatim sql condition to this Criteria. This is used as follows:Criteria criteria = new Criteria(); criteria.orVerbatimSql( "count(foo.x) = ?", new Object[] {0}, FooPeer.X, null);
- Parameters:
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.- Returns:
- the modified Criteria.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
where
public Criteria where(Criterion criterion)
"AND"s Criterion object with the conditions in this Criteria. Equivalent to#and(Criterion)
but better to read if this is the first condition to be added to the Criteria.- Parameters:
criterion
- A Criterion object.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
where
public Criteria where(Object lValue, Object rValue)
"AND"s a new condition with the conditions in this Criteria. Equivalent to#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.- Parameters:
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.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
where
public Criteria where(Object lValue, Object rValue, SqlEnum comparison)
"AND"s a new condition with the conditions in this Criteria. Equivalent to#and(Column, Object, SqlEnum)
but better to read if this is the first condition to be added to the Criteria.- Parameters:
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, orCriteria.CUSTOM
to specify the expression manually in the value parameter.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
whereDate
public Criteria whereDate(Object lValue, int year, int month, int day)
Convenience method to AND a new date comparison with the conditions in this Criteria. Equivalent to#andDate(Column, int, int, int)
but better to read if this is the first condition to be added to the Criteria.- Parameters:
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.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
whereDate
public 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. Equivalent to#andDate(Column, int, int, int, SqlEnum)
but better to read if this is the first condition to be added to the Criteria.- Parameters:
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.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
whereIn
public Criteria whereIn(Object lValue, Object[] rValues)
Convenience method to AND a "in" comparison with the conditions in this Criteria. Equivalent to#andIn(Column, Object[])
but better to read if this is the first condition to be added to the Criteria.- Parameters:
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.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
whereIn
public Criteria whereIn(Object lValue, Collection<?> rValues)
Convenience method to AND a "in" comparison with the conditions in this Criteria. Equivalent to#andIn(Column, Collection)
but better to read if this is the first condition to be added to the Criteria.- Parameters:
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.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
whereNotIn
public Criteria whereNotIn(Object lValue, Object[] rValues)
Convenience method to AND a "not in" comparison with the conditions in this Criteria. Equivalent to#andNotIn(Column, Object[])
but better to read if this is the first condition to be added to the Criteria.- Parameters:
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.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
whereNotIn
public Criteria whereNotIn(Object lValue, Collection<?> rValues)
Convenience method to AND a "not in" comparison with the conditions in this Criteria. Equivalent to#andNotIn(Column, Collection)
but better to read if this is the first condition to be added to the Criteria.- Parameters:
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.- Returns:
- A modified Criteria object.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
whereVerbatimSql
public Criteria whereVerbatimSql(String sql, Object[] replacements)
Convenience method to AND a verbatim sql condition to this Criteria. Equivalent to#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});
- Parameters:
sql
- the verbatim SQL to use.replacements
- the replacements for the "?" placeholders in SQL.- Returns:
- the modified Criteria.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
whereVerbatimSql
public Criteria whereVerbatimSql(String sql, Object[] replacements, Column toAddToFromClause1, Column toAddToFromClause2)
Convenience method to AND a verbatim sql condition to this Criteria. Equivalent to#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);
- Parameters:
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.- Returns:
- the modified Criteria.
- Throws:
TorqueRuntimeException
- if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
-
union
public Criteria union(Criteria other)
Creates a SQL UNION between this Criteria and the passed other criteria.- Parameters:
other
- the other part of the union.- Returns:
- the modified Criteria.
-
unionAll
public Criteria unionAll(Criteria other)
Creates a SQL UNION ALL between this Criteria and the passed other criteria.- Parameters:
other
- the other part of the union.- Returns:
- the modified Criteria.
-
intersect
public Criteria intersect(Criteria other)
Creates a SQL INTERSECT between this Criteria and the passed other criteria.- Parameters:
other
- the other part of the union.- Returns:
- the modified Criteria.
-
intersectAll
public Criteria intersectAll(Criteria other)
Creates a SQL INTERSECT ALL between this Criteria and the passed other criteria.- Parameters:
other
- the other part of the union.- Returns:
- the modified Criteria.
-
except
public Criteria except(Criteria other)
Creates a SQL EXCEPT between this Criteria and the passed other criteria.- Parameters:
other
- the other part of the union.- Returns:
- the modified Criteria.
-
exceptAll
public Criteria exceptAll(Criteria other)
Creates a SQL EXCEPT between this Criteria and the passed other criteria.- Parameters:
other
- the other part of the union.- Returns:
- the modified Criteria.
-
appendSetOperation
protected void appendSetOperation(Criteria other, SqlEnum setOperator)
Appends a set operation (union, except, intersect) to this Criteria. If not already done, this criteria is converted to a composite criteria.- Parameters:
other
- the other criteria, not null.setOperator
- the set operator, not null.- Throws:
NullPointerException
- if other or setOperator are null.
-
getSetCriteriaParts
public List<Criteria> getSetCriteriaParts()
Return the parts of the criteria which compose a query using set operations (union, except, intersect).- Returns:
- the parts, not null, empty if this query does not contain set operations
-
getSetOperator
public SqlEnum getSetOperator()
Returns the operator between the set operations.- Returns:
- the operator, or null if this is not a composite criteria.
-
isComposite
public boolean isComposite()
Returns whether this Criteria is a composite criteria, i.e. is composed from more than one Criteria related by set operations (e.g. union, except, intersect)..- Returns:
- true if the criteria consists of several parts connected by set operations, false otherwise.
-
assertNoComposite
protected void assertNoComposite()
Checks that this Criteria is no composite Criteria, and throws a TorqueRuntimeException otherwise.- Throws:
TorqueRuntimeException
- if this Criteria is a composite Criteria.
-
-