Groovy Documentation

## grails.orm
[Java] Class HibernateCriteriaBuilder

    java.lang.Object
      groovy.lang.GroovyObjectSupport
          grails.orm.HibernateCriteriaBuilder

    public class HibernateCriteriaBuilder
    extends groovy.lang.GroovyObjectSupport

Wraps the Hibernate Criteria API in a builder. The builder can be retrieved through the "createCriteria()" dynamic static method of Grails domain classes (Example in Groovy):

             def c = Account.createCriteria()
             def results = c {
                 projections {
                     groupProperty("branch")
                 }
                 like("holderFirstName", "Fred%")
                 and {
                     between("balance", 500, 1000)
                     eq("branch", "London")
                 }
                 maxResults(10)
                 order("holderLastName", "desc")
             }

The builder can also be instantiated standalone with a SessionFactory and persistent Class instance:

          new HibernateCriteriaBuilder(clazz, sessionFactory).list {
             eq("firstName", "Fred")
          }

Authors:
  Graeme Rocher

Field Summary
`static java.lang.String` | `AND`
`static java.lang.String` | `BETWEEN`
`static java.lang.String` | `EQUALS`
`static java.lang.String` | `EQUALS_PROPERTY`
`static java.lang.String` | `GREATER_THAN`
`static java.lang.String` | `GREATER_THAN_OR_EQUAL`
`static java.lang.String` | `GREATER_THAN_OR_EQUAL_PROPERTY`
`static java.lang.String` | `GREATER_THAN_PROPERTY`
`static java.lang.String` | `ID_EQUALS`
`static java.lang.String` | `ILIKE`
`static java.lang.String` | `IN`
`static java.lang.String` | `IS_EMPTY`
`static java.lang.String` | `IS_NOT_EMPTY`
`static java.lang.String` | `IS_NOT_NULL`
`static java.lang.String` | `IS_NULL`
`static java.lang.String` | `LESS_THAN`
`static java.lang.String` | `LESS_THAN_OR_EQUAL`
`static java.lang.String` | `LESS_THAN_OR_EQUAL_PROPERTY`
`static java.lang.String` | `LESS_THAN_PROPERTY`
`static java.lang.String` | `LIKE`
`static java.lang.String` | `NOT`
`static java.lang.String` | `NOT_EQUAL`
`static java.lang.String` | `NOT_EQUAL_PROPERTY`
`static java.lang.String` | `OR`
`static java.lang.String` | `ORDER_ASCENDING`
`static java.lang.String` | `ORDER_DESCENDING`
`static java.lang.String` | `RLIKE`
`static java.lang.String` | `SIZE_EQUALS`

Constructor Summary
`HibernateCriteriaBuilder(java.lang.Class targetClass, SessionFactory sessionFactory)`
`HibernateCriteriaBuilder(java.lang.Class targetClass, SessionFactory sessionFactory, boolean uniqueResult)`

Method Summary
`protected void` | `addProjectionToList(Projection propertyProjection, java.lang.String alias)` Adds a projection to the projectList for the given alias
`void` | `avg(java.lang.String propertyName)` Adds a projection that allows the criteria to return the property average value
`void` | `avg(java.lang.String propertyName, java.lang.String alias)` Adds a projection that allows the criteria to return the property average value
`java.lang.Object` | `between(java.lang.String propertyName, java.lang.Object lo, java.lang.Object hi)` Creates a "between" Criterion based on the property name and specified lo and hi values
`Criteria` | `buildCriteria(groovy.lang.Closure criteriaClosure)`
`void` | `cache(boolean shouldCache)` Whether to use the query cache
`void` | `count(java.lang.String propertyName)` Adds a projection that allows the criteria to return the property count
`void` | `count(java.lang.String propertyName, java.lang.String alias)` Adds a projection that allows the criteria to return the property count
`void` | `countDistinct(java.lang.String propertyName)` Adds a projection that allows the criteria to return the distinct property count
`void` | `countDistinct(java.lang.String propertyName, java.lang.String alias)` Adds a projection that allows the criteria to return the distinct property count
`void` | `distinct(java.lang.String propertyName)` A projection that selects a distince property name
`void` | `distinct(java.lang.String propertyName, java.lang.String alias)` A projection that selects a distince property name
`void` | `distinct(java.util.Collection propertyNames)` A distinct projection that takes a list
`void` | `distinct(java.util.Collection propertyNames, java.lang.String alias)` A distinct projection that takes a list
`java.lang.Object` | `eq(java.lang.String propertyName, java.lang.Object propertyValue)` Creates an "equals" Criterion based on the specified property name and value.
`java.lang.Object` | `eq(java.util.Map params, java.lang.String propertyName, java.lang.Object propertyValue)` Groovy moves the map to the first parameter if using the idiomatic form, e.g.
`java.lang.Object` | `eq(java.lang.String propertyName, java.lang.Object propertyValue, java.util.Map params)` Creates an "equals" Criterion based on the specified property name and value.
`java.lang.Object` | `eqProperty(java.lang.String propertyName, java.lang.String otherPropertyName)` Creates a Criterion that compares to class properties for equality
`void` | `fetchMode(java.lang.String associationPath, FetchMode fetchMode)` Sets the fetch mode of an associated path
`java.lang.Object` | `ge(java.lang.String propertyName, java.lang.Object propertyValue)` Creates a "greater than or equal to" Criterion based on the specified property name and value
`java.lang.Object` | `geProperty(java.lang.String propertyName, java.lang.String otherPropertyName)` Creates a Criterion that tests if the first property is greater than or equal to the second property
`Criteria` | `getInstance()` Returns the criteria instance
`void` | `groupProperty(java.lang.String propertyName)` Adds a projection that allows the criteria's result to be grouped by a property
`void` | `groupProperty(java.lang.String propertyName, java.lang.String alias)` Adds a projection that allows the criteria's result to be grouped by a property
`java.lang.Object` | `gt(java.lang.String propertyName, java.lang.Object propertyValue)` Creates a "greater than" Criterion based on the specified property name and value
`java.lang.Object` | `gtProperty(java.lang.String propertyName, java.lang.String otherPropertyName)` Creates a Criterion that tests if the first property is greater than the second property
`java.lang.Object` | `ilike(java.lang.String propertyName, java.lang.Object propertyValue)` Creates a Criterion with from the specified property name and "ilike" (a case sensitive version of "like") expression
`java.lang.Object` | `in(java.lang.String propertyName, java.util.Collection values)` Applys a "in" contrain on the specified property
`java.lang.Object` | `in(java.lang.String propertyName, Object[] values)` Applys a "in" contrain on the specified property
`java.lang.Object` | `inList(java.lang.String propertyName, java.util.Collection values)` Delegates to in as in is a Groovy keyword
`java.lang.Object` | `inList(java.lang.String propertyName, Object[] values)` Delegates to in as in is a Groovy keyword
`java.lang.Object` | `invokeMethod(java.lang.String name, java.lang.Object obj)`
`void` | `join(java.lang.String associationPath)` Use a join query
`java.lang.Object` | `le(java.lang.String propertyName, java.lang.Object propertyValue)` Creates a "less than or equal to" Criterion based on the specified property name and value
`java.lang.Object` | `leProperty(java.lang.String propertyName, java.lang.String otherPropertyName)` Creates a Criterion that tests if the first property is less than or equal to the second property
`java.lang.Object` | `like(java.lang.String propertyName, java.lang.Object propertyValue)` Creates a Criterion with from the specified property name and "like" expression
`void` | `lock(boolean shouldLock)` Whether a pessimistic lock should be obtained.
`java.lang.Object` | `lt(java.lang.String propertyName, java.lang.Object propertyValue)` Creates a "less than" Criterion based on the specified property name and value
`java.lang.Object` | `ltProperty(java.lang.String propertyName, java.lang.String otherPropertyName)` Creates a Criterion that tests if the first property is less than the second property
`void` | `max(java.lang.String propertyName)` Adds a projection that allows the criteria to retrieve a maximum property value
`void` | `max(java.lang.String propertyName, java.lang.String alias)` Adds a projection that allows the criteria to retrieve a maximum property value
`void` | `min(java.lang.String propertyName)` Adds a projection that allows the criteria to retrieve a minimum property value
`void` | `min(java.lang.String propertyName, java.lang.String alias)` Adds a projection that allows the criteria to retrieve a minimum property value
`java.lang.Object` | `ne(java.lang.String propertyName, java.lang.Object propertyValue)` Creates a "not equal" Criterion based on the specified property name and value
`java.lang.Object` | `neProperty(java.lang.String propertyName, java.lang.String otherPropertyName)` Creates a Criterion that compares to class properties for !
`java.lang.Object` | `notEqual(java.lang.String propertyName, java.lang.Object propertyValue)`
`java.lang.Object` | `order(java.lang.String propertyName)` Orders by the specified property name (defaults to ascending)
`java.lang.Object` | `order(java.lang.String propertyName, java.lang.String direction)` Orders by the specified property name and direction
`void` | `property(java.lang.String propertyName)` A projection that selects a property name
`void` | `property(java.lang.String propertyName, java.lang.String alias)` A projection that selects a property name
`void` | `resultTransformer(ResultTransformer transformer)` Sets the resultTransformer.
`java.lang.Object` | `rlike(java.lang.String propertyName, java.lang.Object propertyValue)` Creates a Criterion with from the specified property name and "rlike" (a regular expression version of "like") expression
`void` | `rowCount()` Adds a projection that allows the criteria to return the row count
`void` | `rowCount(java.lang.String alias)` Adds a projection that allows the criteria to return the row count
`void` | `select(java.lang.String associationPath)` Use a select query
`void` | `setUniqueResult(boolean uniqueResult)` Set whether a unique result should be returned
`java.lang.Object` | `sizeEq(java.lang.String propertyName, int size)` Creates a Criterion that contrains a collection property by size
`java.lang.Object` | `sizeGe(java.lang.String propertyName, int size)` Creates a Criterion that contrains a collection property to be greater than or equal to the given size
`java.lang.Object` | `sizeGt(java.lang.String propertyName, int size)` Creates a Criterion that contrains a collection property to be greater than the given size
`java.lang.Object` | `sizeLe(java.lang.String propertyName, int size)` Creates a Criterion that contrains a collection property to be less than or equal to the given size
`java.lang.Object` | `sizeLt(java.lang.String propertyName, int size)` Creates a Criterion that contrains a collection property to be less than to the given size
`java.lang.Object` | `sizeNe(java.lang.String propertyName, int size)` Creates a Criterion that contrains a collection property to be not equal to the given size

`java.lang.Object`

`sqlRestriction(java.lang.String sqlRestriction)`

Applies a sql restriction to the results to allow something like:

           def results = Person.withCriteria {
               sqlRestriction "char_length(first_name) <= 4"
           }

`void` | `sum(java.lang.String propertyName)` Adds a projection that allows the criteria to retrieve the sum of the results of a property
`void` | `sum(java.lang.String propertyName, java.lang.String alias)` Adds a projection that allows the criteria to retrieve the sum of the results of a property

Methods inherited from class groovy.lang.GroovyObjectSupport

groovy.lang.GroovyObjectSupport#setProperty(java.lang.String, java.lang.Object), groovy.lang.GroovyObjectSupport#getProperty(java.lang.String), groovy.lang.GroovyObjectSupport#getMetaClass(), groovy.lang.GroovyObjectSupport#setMetaClass(groovy.lang.MetaClass), groovy.lang.GroovyObjectSupport#invokeMethod(java.lang.String, java.lang.Object), groovy.lang.GroovyObjectSupport#wait(), groovy.lang.GroovyObjectSupport#wait(long), groovy.lang.GroovyObjectSupport#wait(long, int), groovy.lang.GroovyObjectSupport#equals(java.lang.Object), groovy.lang.GroovyObjectSupport#toString(), groovy.lang.GroovyObjectSupport#hashCode(), groovy.lang.GroovyObjectSupport#getClass(), groovy.lang.GroovyObjectSupport#notify(), groovy.lang.GroovyObjectSupport#notifyAll()

Methods inherited from class java.lang.Object
java.lang.Object#wait(), java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()

Field Detail

### AND

    public static final java.lang.String AND

### BETWEEN

    public static final java.lang.String BETWEEN

### EQUALS

    public static final java.lang.String EQUALS

### EQUALS_PROPERTY

    public static final java.lang.String EQUALS_PROPERTY

### GREATER_THAN

    public static final java.lang.String GREATER_THAN

### GREATER_THAN_OR_EQUAL

    public static final java.lang.String GREATER_THAN_OR_EQUAL

### GREATER_THAN_OR_EQUAL_PROPERTY

    public static final java.lang.String GREATER_THAN_OR_EQUAL_PROPERTY

### GREATER_THAN_PROPERTY

    public static final java.lang.String GREATER_THAN_PROPERTY

### ID_EQUALS

    public static final java.lang.String ID_EQUALS

### ILIKE

    public static final java.lang.String ILIKE

### IN

    public static final java.lang.String IN

### IS_EMPTY

    public static final java.lang.String IS_EMPTY

### IS_NOT_EMPTY

    public static final java.lang.String IS_NOT_EMPTY

### IS_NOT_NULL

    public static final java.lang.String IS_NOT_NULL

### IS_NULL

    public static final java.lang.String IS_NULL

### LESS_THAN

    public static final java.lang.String LESS_THAN

### LESS_THAN_OR_EQUAL

    public static final java.lang.String LESS_THAN_OR_EQUAL

### LESS_THAN_OR_EQUAL_PROPERTY

    public static final java.lang.String LESS_THAN_OR_EQUAL_PROPERTY

### LESS_THAN_PROPERTY

    public static final java.lang.String LESS_THAN_PROPERTY

### LIKE

    public static final java.lang.String LIKE

### NOT

    public static final java.lang.String NOT

### NOT_EQUAL

    public static final java.lang.String NOT_EQUAL

### NOT_EQUAL_PROPERTY

    public static final java.lang.String NOT_EQUAL_PROPERTY

### OR

    public static final java.lang.String OR

### ORDER_ASCENDING

    public static final java.lang.String ORDER_ASCENDING

### ORDER_DESCENDING

    public static final java.lang.String ORDER_DESCENDING

### RLIKE

    public static final java.lang.String RLIKE

### SIZE_EQUALS

    public static final java.lang.String SIZE_EQUALS

Constructor Detail

### HibernateCriteriaBuilder

    @SuppressWarnings({"unchecked","rawtypes"})
    public HibernateCriteriaBuilder(java.lang.Class targetClass, SessionFactory sessionFactory)

### HibernateCriteriaBuilder

    @SuppressWarnings("rawtypes")
    public HibernateCriteriaBuilder(java.lang.Class targetClass, SessionFactory sessionFactory, boolean uniqueResult)

Method Detail

### addProjectionToList

    protected void addProjectionToList(Projection propertyProjection, java.lang.String alias)

  Adds a projection to the projectList for the given alias
  Parameters:
    `propertyProjection` - The projection
    `alias` - The alias

### avg

    public void avg(java.lang.String propertyName)

  Adds a projection that allows the criteria to return the property average value
  Parameters:
    `propertyName` - The name of the property

### avg

    public void avg(java.lang.String propertyName, java.lang.String alias)

  Adds a projection that allows the criteria to return the property average value
  Parameters:
    `propertyName` - The name of the property
    `alias` - The alias to use

### between

    public java.lang.Object between(java.lang.String propertyName, java.lang.Object lo, java.lang.Object hi)

  Creates a "between" Criterion based on the property name and specified lo and hi values
  Parameters:
    `propertyName` - The property name
    `lo` - The low value
    `hi` - The high value
  Returns:
    A Criterion instance

### buildCriteria

    public Criteria buildCriteria(groovy.lang.Closure criteriaClosure)

### cache

    public void cache(boolean shouldCache)

  Whether to use the query cache
  Parameters:
    `shouldCache` - True if the query should be cached

### count

    public void count(java.lang.String propertyName)

  Adds a projection that allows the criteria to return the property count
  Parameters:
    `propertyName` - The name of the property

### count

    public void count(java.lang.String propertyName, java.lang.String alias)

  Adds a projection that allows the criteria to return the property count
  Parameters:
    `propertyName` - The name of the property
    `alias` - The alias to use

### countDistinct

    public void countDistinct(java.lang.String propertyName)

  Adds a projection that allows the criteria to return the distinct property count
  Parameters:
    `propertyName` - The name of the property

### countDistinct

    public void countDistinct(java.lang.String propertyName, java.lang.String alias)

  Adds a projection that allows the criteria to return the distinct property count
  Parameters:
    `propertyName` - The name of the property
    `alias` - The alias to use

### distinct

    public void distinct(java.lang.String propertyName)

  A projection that selects a distince property name
  Parameters:
    `propertyName` - The property name

### distinct

    public void distinct(java.lang.String propertyName, java.lang.String alias)

  A projection that selects a distince property name
  Parameters:
    `propertyName` - The property name
    `alias` - The alias to use

### distinct

    @SuppressWarnings("rawtypes")
    public void distinct(java.util.Collection propertyNames)

  A distinct projection that takes a list
  Parameters:
    `propertyNames` - The list of distince property names

### distinct

    @SuppressWarnings("rawtypes")
    public void distinct(java.util.Collection propertyNames, java.lang.String alias)

  A distinct projection that takes a list
  Parameters:
    `propertyNames` - The list of distince property names
    `alias` - The alias to use

### eq

    public java.lang.Object eq(java.lang.String propertyName, java.lang.Object propertyValue)

  Creates an "equals" Criterion based on the specified property name and value. Case-sensitive.
  Parameters:
    `propertyName` - The property name
    `propertyValue` - The property value
  Returns:
    A Criterion instance

### eq

    @SuppressWarnings("rawtypes")
    public java.lang.Object eq(java.util.Map params, java.lang.String propertyName, java.lang.Object propertyValue)

  Groovy moves the map to the first parameter if using the idiomatic form, e.g. `eq 'firstName', 'Fred', ignoreCase: true`.
  Parameters:
    `params` - optional map with customization parameters; currently only 'ignoreCase' is supported.
    propertyName
    propertyValue
  Returns:
    A Criterion instance

### eq

    @SuppressWarnings("rawtypes")
    public java.lang.Object eq(java.lang.String propertyName, java.lang.Object propertyValue, java.util.Map params)

  Creates an "equals" Criterion based on the specified property name and value. Supports case-insensitive search if the `params` map contains `true` under the 'ignoreCase' key.
  Parameters:
    `propertyName` - The property name
    `propertyValue` - The property value
    `params` - optional map with customization parameters; currently only 'ignoreCase' is supported.
  Returns:
    A Criterion instance

### eqProperty

    public java.lang.Object eqProperty(java.lang.String propertyName, java.lang.String otherPropertyName)

  Creates a Criterion that compares to class properties for equality
  Parameters:
    `propertyName` - The first property name
    `otherPropertyName` - The second property name
  Returns:
    A Criterion instance

### fetchMode

    public void fetchMode(java.lang.String associationPath, FetchMode fetchMode)

  Sets the fetch mode of an associated path
  Parameters:
    `associationPath` - The name of the associated path
    `fetchMode` - The fetch mode to set

### ge

    public java.lang.Object ge(java.lang.String propertyName, java.lang.Object propertyValue)

  Creates a "greater than or equal to" Criterion based on the specified property name and value
  Parameters:
    `propertyName` - The property name
    `propertyValue` - The property value
  Returns:
    A Criterion instance

### geProperty

    public java.lang.Object geProperty(java.lang.String propertyName, java.lang.String otherPropertyName)

  Creates a Criterion that tests if the first property is greater than or equal to the second property
  Parameters:
    `propertyName` - The first property name
    `otherPropertyName` - The second property name
  Returns:
    A Criterion instance

### getInstance

    public Criteria getInstance()

  Returns the criteria instance
  Returns:
    The criteria instance

### groupProperty

    public void groupProperty(java.lang.String propertyName)

  Adds a projection that allows the criteria's result to be grouped by a property
  Parameters:
    `propertyName` - The name of the property

### groupProperty

    public void groupProperty(java.lang.String propertyName, java.lang.String alias)

  Adds a projection that allows the criteria's result to be grouped by a property
  Parameters:
    `propertyName` - The name of the property
    `alias` - The alias to use

### gt

    public java.lang.Object gt(java.lang.String propertyName, java.lang.Object propertyValue)

  Creates a "greater than" Criterion based on the specified property name and value
  Parameters:
    `propertyName` - The property name
    `propertyValue` - The property value
  Returns:
    A Criterion instance

### gtProperty

    public java.lang.Object gtProperty(java.lang.String propertyName, java.lang.String otherPropertyName)

  Creates a Criterion that tests if the first property is greater than the second property
  Parameters:
    `propertyName` - The first property name
    `otherPropertyName` - The second property name
  Returns:
    A Criterion instance

### ilike

    public java.lang.Object ilike(java.lang.String propertyName, java.lang.Object propertyValue)

  Creates a Criterion with from the specified property name and "ilike" (a case sensitive version of "like") expression
  Parameters:
    `propertyName` - The property name
    `propertyValue` - The ilike value
  Returns:
    A Criterion instance

### in

    @SuppressWarnings("rawtypes")
    public java.lang.Object in(java.lang.String propertyName, java.util.Collection values)

  Applys a "in" contrain on the specified property
  Parameters:
    `propertyName` - The property name
    `values` - A collection of values
  Returns:
    A Criterion instance

### in

    public java.lang.Object in(java.lang.String propertyName, Object[] values)

  Applys a "in" contrain on the specified property
  Parameters:
    `propertyName` - The property name
    `values` - A collection of values
  Returns:
    A Criterion instance

### inList

    @SuppressWarnings("rawtypes")
    public java.lang.Object inList(java.lang.String propertyName, java.util.Collection values)

  Delegates to in as in is a Groovy keyword

### inList

    public java.lang.Object inList(java.lang.String propertyName, Object[] values)

  Delegates to in as in is a Groovy keyword

### invokeMethod

    @SuppressWarnings("rawtypes")
    @Override
    public java.lang.Object invokeMethod(java.lang.String name, java.lang.Object obj)

### join

    public void join(java.lang.String associationPath)

  Use a join query
  Parameters:
    `associationPath` - The path of the association

### le

    public java.lang.Object le(java.lang.String propertyName, java.lang.Object propertyValue)

  Creates a "less than or equal to" Criterion based on the specified property name and value
  Parameters:
    `propertyName` - The property name
    `propertyValue` - The property value
  Returns:
    A Criterion instance

### leProperty

    public java.lang.Object leProperty(java.lang.String propertyName, java.lang.String otherPropertyName)

  Creates a Criterion that tests if the first property is less than or equal to the second property
  Parameters:
    `propertyName` - The first property name
    `otherPropertyName` - The second property name
  Returns:
    A Criterion instance

### like

    public java.lang.Object like(java.lang.String propertyName, java.lang.Object propertyValue)

  Creates a Criterion with from the specified property name and "like" expression
  Parameters:
    `propertyName` - The property name
    `propertyValue` - The like value
  Returns:
    A Criterion instance

### lock

    public void lock(boolean shouldLock)

  Whether a pessimistic lock should be obtained.
  Parameters:
    `shouldLock` - True if it should

### lt

    public java.lang.Object lt(java.lang.String propertyName, java.lang.Object propertyValue)

  Creates a "less than" Criterion based on the specified property name and value
  Parameters:
    `propertyName` - The property name
    `propertyValue` - The property value
  Returns:
    A Criterion instance

### ltProperty

    public java.lang.Object ltProperty(java.lang.String propertyName, java.lang.String otherPropertyName)

  Creates a Criterion that tests if the first property is less than the second property
  Parameters:
    `propertyName` - The first property name
    `otherPropertyName` - The second property name
  Returns:
    A Criterion instance

### max

    public void max(java.lang.String propertyName)

  Adds a projection that allows the criteria to retrieve a maximum property value
  Parameters:
    `propertyName` - The name of the property

### max

    public void max(java.lang.String propertyName, java.lang.String alias)

  Adds a projection that allows the criteria to retrieve a maximum property value
  Parameters:
    `propertyName` - The name of the property
    `alias` - The alias to use

### min

    public void min(java.lang.String propertyName)

  Adds a projection that allows the criteria to retrieve a minimum property value
  Parameters:
    `propertyName` - The name of the property

### min

    public void min(java.lang.String propertyName, java.lang.String alias)

  Adds a projection that allows the criteria to retrieve a minimum property value
  Parameters:
    `alias` - The alias to use

### ne

    public java.lang.Object ne(java.lang.String propertyName, java.lang.Object propertyValue)

  Creates a "not equal" Criterion based on the specified property name and value
  Parameters:
    `propertyName` - The property name
    `propertyValue` - The property value
  Returns:
    The criterion object

### neProperty

    public java.lang.Object neProperty(java.lang.String propertyName, java.lang.String otherPropertyName)

  Creates a Criterion that compares to class properties for !equality
  Parameters:
    `propertyName` - The first property name
    `otherPropertyName` - The second property name
  Returns:
    A Criterion instance

### notEqual

    public java.lang.Object notEqual(java.lang.String propertyName, java.lang.Object propertyValue)

### order

    public java.lang.Object order(java.lang.String propertyName)

  Orders by the specified property name (defaults to ascending)
  Parameters:
    `propertyName` - The property name to order by
  Returns:
    A Order instance

### order

    public java.lang.Object order(java.lang.String propertyName, java.lang.String direction)

  Orders by the specified property name and direction
  Parameters:
    `propertyName` - The property name to order by
    `direction` - Either "asc" for ascending or "desc" for descending
  Returns:
    A Order instance

### property

    public void property(java.lang.String propertyName)

  A projection that selects a property name
  Parameters:
    `propertyName` - The name of the property

### property

    public void property(java.lang.String propertyName, java.lang.String alias)

  A projection that selects a property name
  Parameters:
    `propertyName` - The name of the property
    `alias` - The alias to use

### resultTransformer

    public void resultTransformer(ResultTransformer transformer)

  Sets the resultTransformer.
  Parameters:
    `resultTransformer` - The result transformer to use.

### rlike

    public java.lang.Object rlike(java.lang.String propertyName, java.lang.Object propertyValue)

  Creates a Criterion with from the specified property name and "rlike" (a regular expression version of "like") expression
  Parameters:
    `propertyName` - The property name
    `propertyValue` - The ilike value
  Returns:
    A Criterion instance

### rowCount

    public void rowCount()

  Adds a projection that allows the criteria to return the row count

### rowCount

    public void rowCount(java.lang.String alias)

  Adds a projection that allows the criteria to return the row count
  Parameters:
    `alias` - The alias to use

### select

    public void select(java.lang.String associationPath)

  Use a select query
  Parameters:
    `associationPath` - The path of the association

### setUniqueResult

    public void setUniqueResult(boolean uniqueResult)

  Set whether a unique result should be returned
  Parameters:
    `uniqueResult` - True if a unique result should be returned

### sizeEq

    public java.lang.Object sizeEq(java.lang.String propertyName, int size)

  Creates a Criterion that contrains a collection property by size
  Parameters:
    `propertyName` - The property name
    `size` - The size to constrain by
  Returns:
    A Criterion instance

### sizeGe

    public java.lang.Object sizeGe(java.lang.String propertyName, int size)

  Creates a Criterion that contrains a collection property to be greater than or equal to the given size
  Parameters:
    `propertyName` - The property name
    `size` - The size to constrain by
  Returns:
    A Criterion instance

### sizeGt

    public java.lang.Object sizeGt(java.lang.String propertyName, int size)

  Creates a Criterion that contrains a collection property to be greater than the given size
  Parameters:
    `propertyName` - The property name
    `size` - The size to constrain by
  Returns:
    A Criterion instance

### sizeLe

    public java.lang.Object sizeLe(java.lang.String propertyName, int size)

  Creates a Criterion that contrains a collection property to be less than or equal to the given size
  Parameters:
    `propertyName` - The property name
    `size` - The size to constrain by
  Returns:
    A Criterion instance

### sizeLt

    public java.lang.Object sizeLt(java.lang.String propertyName, int size)

  Creates a Criterion that contrains a collection property to be less than to the given size
  Parameters:
    `propertyName` - The property name
    `size` - The size to constrain by
  Returns:
    A Criterion instance

### sizeNe

    public java.lang.Object sizeNe(java.lang.String propertyName, int size)

  Creates a Criterion that contrains a collection property to be not equal to the given size
  Parameters:
    `propertyName` - The property name
    `size` - The size to constrain by
  Returns:
    A Criterion instance

### sqlRestriction

    public java.lang.Object sqlRestriction(java.lang.String sqlRestriction)

  Applies a sql restriction to the results to allow something like:

             def results = Person.withCriteria {
                 sqlRestriction "char_length(first_name) <= 4"
             }

  Parameters:
    `sqlRestriction` - the sql restriction
  Returns:
    a Criterion instance

### sum

    public void sum(java.lang.String propertyName)

  Adds a projection that allows the criteria to retrieve the sum of the results of a property
  Parameters:
    `propertyName` - The name of the property

### sum

    public void sum(java.lang.String propertyName, java.lang.String alias)

  Adds a projection that allows the criteria to retrieve the sum of the results of a property
  Parameters:
    `propertyName` - The name of the property
    `alias` - The alias to use

Groovy Documentation