Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## grails.orm
Class HibernateCriteriaBuilder

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

All Implemented Interfaces:
  groovy.lang.GroovyObject

    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")
             }

Since:
  Oct 10, 2005
Author:
  Graeme Rocher

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

Constructor Summary
`HibernateCriteriaBuilder(Class targetClass, org.hibernate.SessionFactory sessionFactory)`
`HibernateCriteriaBuilder(Class targetClass, org.hibernate.SessionFactory sessionFactory, boolean uniqueResult)`

Method Summary
`void` | `avg(String propertyName)` Adds a projection that allows the criteria to return the property average value
`Object` | `between(String propertyName, Object lo, Object hi)` Creates a "between" Criterion based on the property name and specified lo and hi values
`void` | `count(String propertyName)` Adds a projection that allows the criteria to return the property count
`void` | `countDistinct(String propertyName)` Adds a projection that allows the criteria to return the distinct property count
`void` | `distinct(Collection propertyNames)` A distinct projection that takes a list
`void` | `distinct(String propertyName)` A projection that selects a distince property name
`Object` | `eq(String propertyName, Object propertyValue)` Creates an "equals" Criterion based on the specified property name and value
`Object` | `eqProperty(String propertyName, String otherPropertyName)` Creates a Criterion that compares to class properties for equality
`void` | `fetchMode(String associationPath, org.hibernate.FetchMode fetchMode)` Sets the fetch mode of an associated path
`Object` | `ge(String propertyName, Object propertyValue)` Creates a "greater than or equal to" Criterion based on the specified property name and value
`Object` | `geProperty(String propertyName, String otherPropertyName)` Creates a Criterion that tests if the first property is greater than or equal to the second property
`void` | `groupProperty(String propertyName)` Adds a projection that allows the criteria's result to be grouped by a property
`Object` | `gt(String propertyName, Object propertyValue)` Creates a "greater than" Criterion based on the specified property name and value
`Object` | `gtProperty(String propertyName, String otherPropertyName)` Creates a Criterion that tests if the first property is greater than the second property
`Object` | `ilike(String propertyName, Object propertyValue)` Creates a Criterion with from the specified property name and "ilike" (a case sensitive version of "like") expression
`Object` | `in(String propertyName, Collection values)` Applys a "in" contrain on the specified property
`Object` | `in(String propertyName, Object[] values)` Applys a "in" contrain on the specified property
`Object` | `inList(String propertyName, Collection values)` Delegates to in as in is a Groovy keyword
`Object` | `inList(String propertyName, Object[] values)` Delegates to in as in is a Groovy keyword
`Object` | `invokeMethod(String name, Object obj)`
`Object` | `le(String propertyName, Object propertyValue)` Creates a "less than or equal to" Criterion based on the specified property name and value
`Object` | `leProperty(String propertyName, String otherPropertyName)` Creates a Criterion that tests if the first property is less than or equal to the second property
`Object` | `like(String propertyName, Object propertyValue)` Creates a Criterion with from the specified property name and "like" expression
`Object` | `lt(String propertyName, Object propertyValue)` Creates a "less than" Criterion based on the specified property name and value
`Object` | `ltProperty(String propertyName, String otherPropertyName)` Creates a Criterion that tests if the first property is less than the second property
`void` | `max(String propertyName)` Adds a projection that allows the criteria to retrieve a maximum property value
`void` | `min(String propertyName)` Adds a projection that allows the criteria to retrieve a minimum property value
`Object` | `ne(String propertyName, Object propertyValue)` Creates a "not equal" Criterion based on the specified property name and value
`Object` | `neProperty(String propertyName, String otherPropertyName)` Creates a Criterion that compares to class properties for !
`Object` | `notEqual(String propertyName, Object propertyValue)`
`Object` | `order(String propertyName)` Orders by the specified property name (defaults to ascending)
`Object` | `order(String propertyName, String direction)` Orders by the specified property name and direction
`void` | `property(String propertyName)` A projection that selects a property name
`void` | `resultTransformer(org.hibernate.transform.ResultTransformer resultTransformer)` Sets the resultTransformer.
`void` | `rowCount()` Adds a projection that allows the criteria to return the row count
`void` | `setUniqueResult(boolean uniqueResult)`
`Object` | `sizeEq(String propertyName, int size)` Creates a Criterion that contrains a collection property by size
`void` | `sum(String propertyName)` Adds a projection that allows the criteria to retrieve the sum of the results of a property

Methods inherited from class groovy.lang.GroovyObjectSupport
`getMetaClass, getProperty, setMetaClass, setProperty`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### AND

    public static final String AND

See Also:
  Constant Field Values

### IS_NULL

    public static final String IS_NULL

See Also:
  Constant Field Values

### IS_NOT_NULL

    public static final String IS_NOT_NULL

See Also:
  Constant Field Values

### NOT

    public static final String NOT

See Also:
  Constant Field Values

### OR

    public static final String OR

See Also:
  Constant Field Values

### ID_EQUALS

    public static final String ID_EQUALS

See Also:
  Constant Field Values

### IS_EMPTY

    public static final String IS_EMPTY

See Also:
  Constant Field Values

### IS_NOT_EMPTY

    public static final String IS_NOT_EMPTY

See Also:
  Constant Field Values

### BETWEEN

    public static final String BETWEEN

See Also:
  Constant Field Values

### EQUALS

    public static final String EQUALS

See Also:
  Constant Field Values

### EQUALS_PROPERTY

    public static final String EQUALS_PROPERTY

See Also:
  Constant Field Values

### GREATER_THAN

    public static final String GREATER_THAN

See Also:
  Constant Field Values

### GREATER_THAN_PROPERTY

    public static final String GREATER_THAN_PROPERTY

See Also:
  Constant Field Values

### GREATER_THAN_OR_EQUAL

    public static final String GREATER_THAN_OR_EQUAL

See Also:
  Constant Field Values

### GREATER_THAN_OR_EQUAL_PROPERTY

    public static final String GREATER_THAN_OR_EQUAL_PROPERTY

See Also:
  Constant Field Values

### ILIKE

    public static final String ILIKE

See Also:
  Constant Field Values

### IN

    public static final String IN

See Also:
  Constant Field Values

### LESS_THAN

    public static final String LESS_THAN

See Also:
  Constant Field Values

### LESS_THAN_PROPERTY

    public static final String LESS_THAN_PROPERTY

See Also:
  Constant Field Values

### LESS_THAN_OR_EQUAL

    public static final String LESS_THAN_OR_EQUAL

See Also:
  Constant Field Values

### LESS_THAN_OR_EQUAL_PROPERTY

    public static final String LESS_THAN_OR_EQUAL_PROPERTY

See Also:
  Constant Field Values

### LIKE

    public static final String LIKE

See Also:
  Constant Field Values

### NOT_EQUAL

    public static final String NOT_EQUAL

See Also:
  Constant Field Values

### NOT_EQUAL_PROPERTY

    public static final String NOT_EQUAL_PROPERTY

See Also:
  Constant Field Values

### SIZE_EQUALS

    public static final String SIZE_EQUALS

See Also:
  Constant Field Values

### ORDER_DESCENDING

    public static final String ORDER_DESCENDING

See Also:
  Constant Field Values

### ORDER_ASCENDING

    public static final String ORDER_ASCENDING

See Also:
  Constant Field Values

Constructor Detail

### HibernateCriteriaBuilder

    public HibernateCriteriaBuilder(Class targetClass,
                                    org.hibernate.SessionFactory sessionFactory)

### HibernateCriteriaBuilder

    public HibernateCriteriaBuilder(Class targetClass,
                                    org.hibernate.SessionFactory sessionFactory,
                                    boolean uniqueResult)

Method Detail

### setUniqueResult

    public void setUniqueResult(boolean uniqueResult)

### property

    public void property(String propertyName)

  A projection that selects a property name

  Parameters:
    `propertyName` - The name of the property

### distinct

    public void distinct(String propertyName)

  A projection that selects a distince property name

  Parameters:
    `propertyName` - The property name

### distinct

    public void distinct(Collection propertyNames)

  A distinct projection that takes a list

  Parameters:
    `propertyNames` - The list of distince property names

### avg

    public void avg(String propertyName)

  Adds a projection that allows the criteria to return the property average value

  Parameters:
    `propertyName` - The name of the property

### count

    public void count(String propertyName)

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

  Parameters:
    `propertyName` - The name of the property

### countDistinct

    public void countDistinct(String propertyName)

  Adds a projection that allows the criteria to return the distinct property count

  Parameters:
    `propertyName` - The name of the property

### groupProperty

    public void groupProperty(String propertyName)

  Adds a projection that allows the criteria's result to be grouped by a property

  Parameters:
    `propertyName` - The name of the property

### max

    public void max(String propertyName)

  Adds a projection that allows the criteria to retrieve a maximum property value

  Parameters:
    `propertyName` - The name of the property

### min

    public void min(String propertyName)

  Adds a projection that allows the criteria to retrieve a minimum property value

  Parameters:
    `propertyName` - The name of the property

### rowCount

    public void rowCount()

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

### sum

    public void sum(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

### fetchMode

    public void fetchMode(String associationPath,
                          org.hibernate.FetchMode fetchMode)

  Sets the fetch mode of an associated path

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

### resultTransformer

    public void resultTransformer(org.hibernate.transform.ResultTransformer resultTransformer)

  Sets the resultTransformer.

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

### eqProperty

    public Object eqProperty(String propertyName,
                             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

### neProperty

    public Object neProperty(String propertyName,
                             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

### gtProperty

    public Object gtProperty(String propertyName,
                             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

### geProperty

    public Object geProperty(String propertyName,
                             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

### ltProperty

    public Object ltProperty(String propertyName,
                             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

### leProperty

    public Object leProperty(String propertyName,
                             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

### gt

    public Object gt(String propertyName,
                     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

### ge

    public Object ge(String propertyName,
                     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

### lt

    public Object lt(String propertyName,
                     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

### le

    public Object le(String propertyName,
                     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

### eq

    public Object eq(String propertyName,
                     Object propertyValue)

  Creates an "equals" Criterion based on the specified property name and value

  Parameters:
    `propertyName` - The property name
    `propertyValue` - The property value
  Returns:
    A Criterion instance

### like

    public Object like(String propertyName,
                       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

### ilike

    public Object ilike(String propertyName,
                        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

    public Object in(String propertyName,
                     Collection values)

  Applys a "in" contrain on the specified property

  Parameters:
    `propertyName` - The property name
    `values` - A collection of values
  Returns:
    A Criterion instance

### inList

    public Object inList(String propertyName,
                         Collection values)

  Delegates to in as in is a Groovy keyword

### inList

    public Object inList(String propertyName,
                         Object[] values)

  Delegates to in as in is a Groovy keyword

### in

    public Object in(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

### order

    public Object order(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 Object order(String propertyName,
                        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

### sizeEq

    public Object sizeEq(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

### ne

    public Object ne(String propertyName,
                     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

### notEqual

    public Object notEqual(String propertyName,
                           Object propertyValue)

### between

    public Object between(String propertyName,
                          Object lo,
                          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

### invokeMethod

    public Object invokeMethod(String name,
                               Object obj)

  Specified by:
    `invokeMethod` in interface `groovy.lang.GroovyObject`
  Overrides:
    `invokeMethod` in class `groovy.lang.GroovyObjectSupport`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright (c) 2005-2006 The Grails project