## 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.

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[] 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:
    `propertyName` -
    `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

### or

    public static LogicalExpression or(Criterion lhs,
                                       Criterion rhs)

  Return the disjuction of two expressions

  Parameters:
    `lhs` -
    `rhs` -
  Returns:
    Criterion

### 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()

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