org.hibernate.criterion

Class Restrictions

Known Direct Subclasses:
Expression

public class Restrictions
extends java.lang.Object

The criterion package may be used by applications as a framework for building new kinds of Criterion. However, it is intended that most applications will simply use the built-in criterion types via the static factory methods of this class.
Author:
Gavin King
See Also:
Criteria, factory methods for Projection instances

Method Summary

static Criterion
allEq(Map propertyNameValues)
Apply an "equals" constraint to each property in the key set of a Map
static LogicalExpression
and(Criterion lhs, Criterion rhs)
Return the conjuction of two expressions
static Criterion
between(String propertyName, Object lo, Object hi)
Apply a "between" constraint to the named property
static Conjunction
conjunction()
Group expressions together in a single conjunction (A and B and C...)
static Disjunction
disjunction()
Group expressions together in a single disjunction (A or B or C...)
static SimpleExpression
eq(String propertyName, Object value)
Apply an "equal" constraint to the named property
static PropertyExpression
eqProperty(String propertyName, String otherPropertyName)
Apply an "equal" constraint to two properties
static SimpleExpression
ge(String propertyName, Object value)
Apply a "greater than or equal" constraint to the named property
static PropertyExpression
geProperty(String propertyName, String otherPropertyName)
Apply a "greater than or equal" constraint to two properties
static SimpleExpression
gt(String propertyName, Object value)
Apply a "greater than" constraint to the named property
static PropertyExpression
gtProperty(String propertyName, String otherPropertyName)
Apply a "greater than" constraint to two properties
static Criterion
idEq(Object value)
Apply an "equal" constraint to the identifier property
static Criterion
ilike(String propertyName, Object value)
A case-insensitive "like", similar to Postgres ilike operator
static Criterion
ilike(String propertyName, String value, MatchMode matchMode)
A case-insensitive "like", similar to Postgres ilike operator
static Criterion
in(String propertyName, Collection values)
Apply an "in" constraint to the named property
static Criterion
in(String propertyName, Object[] values)
Apply an "in" constraint to the named property
static Criterion
isEmpty(String propertyName)
Constrain a collection valued property to be empty
static Criterion
isNotEmpty(String propertyName)
Constrain a collection valued property to be non-empty
static Criterion
isNotNull(String propertyName)
Apply an "is not null" constraint to the named property
static Criterion
isNull(String propertyName)
Apply an "is null" constraint to the named property
static SimpleExpression
le(String propertyName, Object value)
Apply a "less than or equal" constraint to the named property
static PropertyExpression
leProperty(String propertyName, String otherPropertyName)
Apply a "less than or equal" constraint to two properties
static SimpleExpression
like(String propertyName, Object value)
Apply a "like" constraint to the named property
static SimpleExpression
like(String propertyName, String value, MatchMode matchMode)
Apply a "like" constraint to the named property
static SimpleExpression
lt(String propertyName, Object value)
Apply a "less than" constraint to the named property
static PropertyExpression
ltProperty(String propertyName, String otherPropertyName)
Apply a "less than" constraint to two properties
static NaturalIdentifier
naturalId()
static SimpleExpression
ne(String propertyName, Object value)
Apply a "not equal" constraint to the named property
static PropertyExpression
neProperty(String propertyName, String otherPropertyName)
Apply a "not equal" constraint to two properties
static Criterion
not(Criterion expression)
Return the negation of an expression
static LogicalExpression
or(Criterion lhs, Criterion rhs)
Return the disjuction of two expressions
static Criterion
sizeEq(String propertyName, int size)
Constrain a collection valued property by size
static Criterion
sizeGe(String propertyName, int size)
Constrain a collection valued property by size
static Criterion
sizeGt(String propertyName, int size)
Constrain a collection valued property by size
static Criterion
sizeLe(String propertyName, int size)
Constrain a collection valued property by size
static Criterion
sizeLt(String propertyName, int size)
Constrain a collection valued property by size
static Criterion
sizeNe(String propertyName, int size)
Constrain a collection valued property by size
static Criterion
sqlRestriction(String sql)
Apply a constraint expressed in SQL.
static Criterion
sqlRestriction(String sql, Object value, Type type)
Apply a constraint expressed in SQL, with the given JDBC parameter.
static Criterion
sqlRestriction(String sql, Object[] values, Type[] types)
Apply a constraint expressed in SQL, with the given JDBC parameters.

Method Details

allEq

public static Criterion allEq(Map propertyNameValues)
Apply an "equals" constraint to each property in the key set of a Map
Parameters:
propertyNameValues - a map from property names to values
Returns:
Criterion

and

public static LogicalExpression and(Criterion lhs,
                                    Criterion rhs)
Return the conjuction of two expressions
Parameters:
lhs -
rhs -
Returns:
Criterion

between

public static Criterion between(String propertyName,
                                Object lo,
                                Object hi)
Apply a "between" constraint to the named property
Parameters:
propertyName -
lo - value
hi - value
Returns:
Criterion

conjunction

public static Conjunction conjunction()
Group expressions together in a single conjunction (A and B and C...)
Returns:
Conjunction

disjunction

public static Disjunction disjunction()
Group expressions together in a single disjunction (A or B or C...)
Returns:
Conjunction

eq

public static SimpleExpression eq(String propertyName,
                                  Object value)
Apply an "equal" constraint to the named property
Parameters:
propertyName -
value -
Returns:
Criterion

eqProperty

public static PropertyExpression eqProperty(String propertyName,
                                            String otherPropertyName)
Apply an "equal" constraint to two properties

ge

public static SimpleExpression ge(String propertyName,
                                  Object value)
Apply a "greater than or equal" constraint to the named property
Parameters:
propertyName -
value -
Returns:
Criterion

geProperty

public static PropertyExpression geProperty(String propertyName,
                                            String otherPropertyName)
Apply a "greater than or equal" constraint to two properties

gt

public static SimpleExpression gt(String propertyName,
                                  Object value)
Apply a "greater than" constraint to the named property
Parameters:
propertyName -
value -
Returns:
Criterion

gtProperty

public static PropertyExpression gtProperty(String propertyName,
                                            String otherPropertyName)
Apply a "greater than" constraint to two properties

idEq

public static Criterion idEq(Object value)
Apply an "equal" constraint to the identifier property
Parameters:
value -
Returns:
Criterion

ilike

public static Criterion ilike(String propertyName,
                              Object value)
A case-insensitive "like", similar to Postgres ilike operator
Parameters:
propertyName -
value -
Returns:
Criterion

ilike

public static Criterion ilike(String propertyName,
                              String value,
                              MatchMode matchMode)
A case-insensitive "like", similar to Postgres ilike operator
Parameters:
propertyName -
value -
Returns:
Criterion

in

public static Criterion in(String propertyName,
                           Collection values)
Apply an "in" constraint to the named property
Parameters:
propertyName -
values -
Returns:
Criterion

in

public static Criterion in(String propertyName,
                           Object[] values)
Apply an "in" constraint to the named property
Parameters:
propertyName -
values -
Returns:
Criterion

isEmpty

public static Criterion isEmpty(String propertyName)
Constrain a collection valued property to be empty

isNotEmpty

public static Criterion isNotEmpty(String propertyName)
Constrain a collection valued property to be non-empty

isNotNull

public static Criterion isNotNull(String propertyName)
Apply an "is not null" constraint to the named property
Returns:
Criterion

isNull

public static Criterion isNull(String propertyName)
Apply an "is null" constraint to the named property
Returns:
Criterion

le

public static SimpleExpression le(String propertyName,
                                  Object value)
Apply a "less than or equal" constraint to the named property
Parameters:
propertyName -
value -
Returns:
Criterion

leProperty

public static PropertyExpression leProperty(String propertyName,
                                            String otherPropertyName)
Apply a "less than or equal" constraint to two properties

like

public static SimpleExpression like(String propertyName,
                                    Object value)
Apply a "like" constraint to the named property
Parameters:
propertyName -
value -
Returns:
Criterion

like

public static SimpleExpression like(String propertyName,
                                    String value,
                                    MatchMode matchMode)
Apply a "like" constraint to the named property
Parameters:
propertyName -
value -
Returns:
Criterion

lt

public static SimpleExpression lt(String propertyName,
                                  Object value)
Apply a "less than" constraint to the named property
Parameters:
propertyName -
value -
Returns:
Criterion

ltProperty

public static PropertyExpression ltProperty(String propertyName,
                                            String otherPropertyName)
Apply a "less than" constraint to two properties

naturalId

public static NaturalIdentifier naturalId()

ne

public static SimpleExpression ne(String propertyName,
                                  Object value)
Apply a "not equal" constraint to the named property
Parameters:
propertyName -
value -
Returns:
Criterion

neProperty

public static PropertyExpression neProperty(String propertyName,
                                            String otherPropertyName)
Apply a "not equal" constraint to two properties

not

public static Criterion not(Criterion expression)
Return the negation of an expression
Parameters:
expression -
Returns:
Criterion

or

public static LogicalExpression or(Criterion lhs,
                                   Criterion rhs)
Return the disjuction of two expressions
Parameters:
lhs -
rhs -
Returns:
Criterion

sizeEq

public static Criterion sizeEq(String propertyName,
                               int size)
Constrain a collection valued property by size

sizeGe

public static Criterion sizeGe(String propertyName,
                               int size)
Constrain a collection valued property by size

sizeGt

public static Criterion sizeGt(String propertyName,
                               int size)
Constrain a collection valued property by size

sizeLe

public static Criterion sizeLe(String propertyName,
                               int size)
Constrain a collection valued property by size

sizeLt

public static Criterion sizeLt(String propertyName,
                               int size)
Constrain a collection valued property by size

sizeNe

public static Criterion sizeNe(String propertyName,
                               int size)
Constrain a collection valued property by size

sqlRestriction

public static Criterion sqlRestriction(String sql)
Apply a constraint expressed in SQL. Any occurrences of {alias} will be replaced by the table alias.
Parameters:
sql -
Returns:
Criterion

sqlRestriction

public static Criterion sqlRestriction(String sql,
                                       Object value,
                                       Type type)
Apply a constraint expressed in SQL, with the given JDBC parameter. Any occurrences of {alias} will be replaced by the table alias.
Parameters:
sql -
value -
type -
Returns:
Criterion

sqlRestriction

public static Criterion sqlRestriction(String sql,
                                       Object[] values,
                                       Type[] types)
Apply a constraint expressed in SQL, with the given JDBC parameters. Any occurrences of {alias} will be replaced by the table alias.
Parameters:
sql -
values -
types -
Returns:
Criterion