org.hibernate.criterion
Class Restrictions

java.lang.Object
  extended by org.hibernate.criterion.Restrictions
Direct Known Subclasses:
Expression

public class Restrictions
extends 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.

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 Conjunction and(Criterion... predicates)
          Return the conjuction of multiple expressions
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()
          Consider using any of the natural id based loading stuff from session instead, especially in cases where the restriction is the full set of natural id values.
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 Disjunction or(Criterion... predicates)
          Return the disjuction of multiple expressions
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[] values, Type[] types)
          Apply a constraint expressed in SQL, with the given JDBC parameters.
static Criterion sqlRestriction(String sql, Object value, Type type)
          Apply a constraint expressed in SQL, with the given JDBC parameter.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

idEq

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

Parameters:
value -
Returns:
Criterion

eq

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

Parameters:
propertyName -
value -
Returns:
Criterion

ne

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

Parameters:
propertyName -
value -
Returns:
Criterion

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

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

ilike

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

Parameters:
propertyName -
value -
Returns:
Criterion

gt

public static SimpleExpression gt(String propertyName,
                                  Object value)
Apply a "greater than" 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

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

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

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

in

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

Parameters:
propertyName -
values -
Returns:
Criterion

in

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

Parameters:
propertyName -
values -
Returns:
Criterion

isNull

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

Returns:
Criterion

eqProperty

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


neProperty

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


ltProperty

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


leProperty

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


gtProperty

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


geProperty

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


isNotNull

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

Returns:
Criterion

and

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

Parameters:
lhs -
rhs -
Returns:
Criterion

and

public static Conjunction and(Criterion... predicates)
Return the conjuction of multiple expressions

Parameters:
predicates - The predicates making up the initial junction
Returns:
The conjunction

or

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

Parameters:
lhs -
rhs -
Returns:
Criterion

or

public static Disjunction or(Criterion... predicates)
Return the disjuction of multiple expressions

Parameters:
predicates - The predicates making up the initial junction
Returns:
The conjunction

not

public static Criterion not(Criterion expression)
Return the negation of an expression

Parameters:
expression -
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

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)
Apply a constraint expressed in SQL. Any occurrences of {alias} will be replaced by the table alias.

Parameters:
sql -
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

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

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


sizeEq

public static Criterion sizeEq(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


sizeGt

public static Criterion sizeGt(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


sizeGe

public static Criterion sizeGe(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


naturalId

public static NaturalIdentifier naturalId()
Consider using any of the natural id based loading stuff from session instead, especially in cases where the restriction is the full set of natural id values.

See Also:
Session.byNaturalId(Class), Session.byNaturalId(String), Session.bySimpleNaturalId(Class), Session.bySimpleNaturalId(String)


Copyright © 2001-2012 Red Hat, Inc. All Rights Reserved.