## org.hibernate.criterion
Class Restrictions

    java.lang.Object
      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.