Groovy Documentation

grails.orm
[Java] Class HibernateCriteriaBuilder

java.lang.Object
  groovy.lang.GroovyObjectSupport
      grails.orm.HibernateCriteriaBuilder
All Implemented Interfaces:
org.grails.datastore.mapping.query.api.Criteria, org.grails.datastore.mapping.query.api.ProjectionList

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 org.hibernate.type.Type BIG_DECIMAL

static org.hibernate.type.Type BIG_INTEGER

static org.hibernate.type.Type BINARY

static org.hibernate.type.Type BLOB

static org.hibernate.type.Type BOOLEAN

static org.hibernate.type.Type BYTE

static org.hibernate.type.Type CALENDAR

static org.hibernate.type.Type CALENDAR_DATE

static org.hibernate.type.Type CHARACTER

static org.hibernate.type.Type CHARACTERS_CLOB

static org.hibernate.type.Type CHARACTER_ARRAY

static org.hibernate.type.Type CHAR_ARRAY

static org.hibernate.type.Type CLASS

static org.hibernate.type.Type CLOB

static org.hibernate.type.Type CURRENCY

static org.hibernate.type.Type DATE

static org.hibernate.type.Type DOUBLE

static java.lang.String EQUALS

static java.lang.String EQUALS_PROPERTY

static org.hibernate.type.Type FLOAT

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 org.hibernate.type.Type IMAGE

static java.lang.String IN

static org.hibernate.type.Type INTEGER

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 org.hibernate.type.Type LOCALE

static org.hibernate.type.Type LONG

static org.hibernate.type.Type MATERIALIZED_BLOB

static org.hibernate.type.Type MATERIALIZED_CLOB

static java.lang.String NOT

static java.lang.String NOT_EQUAL

static java.lang.String NOT_EQUAL_PROPERTY

static org.hibernate.type.Type NUMERIC_BOOLEAN

static java.lang.String OR

static java.lang.String ORDER_ASCENDING

static java.lang.String ORDER_DESCENDING

static java.lang.String RLIKE

static org.hibernate.type.Type SERIALIZABLE

static org.hibernate.type.Type SHORT

static java.lang.String SIZE_EQUALS

static org.hibernate.type.Type STRING

static org.hibernate.type.Type TEXT

static org.hibernate.type.Type TIME

static org.hibernate.type.Type TIMESTAMP

static org.hibernate.type.Type TIMEZONE

static org.hibernate.type.Type TRUE_FALSE

static org.hibernate.type.Type URL

static org.hibernate.type.Type UUID_BINARY

static org.hibernate.type.Type UUID_CHAR

static org.hibernate.type.Type WRAPPER_BINARY

static org.hibernate.type.Type WRAPPER_CHARACTERS_CLOB

static org.hibernate.type.Type WRAPPER_MATERIALIZED_BLOB

static org.hibernate.type.Type YES_NO

 
Constructor Summary
HibernateCriteriaBuilder(java.lang.Class targetClass, org.hibernate.SessionFactory sessionFactory)

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

 
Method Summary
protected void addProjectionToList(org.hibernate.criterion.Projection propertyProjection, java.lang.String alias)

org.grails.datastore.mapping.query.api.ProjectionList avg(java.lang.String propertyName)

Use a join query

org.grails.datastore.mapping.query.api.ProjectionList avg(java.lang.String propertyName, java.lang.String alias)

org.grails.datastore.mapping.query.api.Criteria between(java.lang.String propertyName, java.lang.Object lo, java.lang.Object hi)

org.hibernate.Criteria buildCriteria(groovy.lang.Closure criteriaClosure)

Throws a runtime exception where necessary to ensure the session gets closed

void cache(boolean shouldCache)

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)

org.grails.datastore.mapping.query.api.ProjectionList count()

org.grails.datastore.mapping.query.api.ProjectionList countDistinct(java.lang.String propertyName)

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

org.grails.datastore.mapping.query.api.ProjectionList countDistinct(java.lang.String propertyName, java.lang.String alias)

org.hibernate.Criteria createAlias(java.lang.String associationPath, java.lang.String alias)

org.hibernate.Criteria createAlias(java.lang.String associationPath, java.lang.String alias, int joinType)

org.grails.datastore.mapping.query.api.ProjectionList distinct(java.lang.String propertyName)

org.grails.datastore.mapping.query.api.ProjectionList distinct(java.lang.String propertyName, java.lang.String alias)

A distinct projection that takes a list

org.grails.datastore.mapping.query.api.ProjectionList distinct(java.util.Collection propertyNames)

org.grails.datastore.mapping.query.api.ProjectionList distinct(java.util.Collection propertyNames, java.lang.String alias)

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

org.grails.datastore.mapping.query.api.ProjectionList distinct()

org.grails.datastore.mapping.query.api.Criteria eq(java.lang.String propertyName, java.lang.Object propertyValue)

org.grails.datastore.mapping.query.api.Criteria eq(java.util.Map params, java.lang.String propertyName, java.lang.Object propertyValue)

org.grails.datastore.mapping.query.api.Criteria eq(java.lang.String propertyName, java.lang.Object propertyValue, java.util.Map params)

org.grails.datastore.mapping.query.api.Criteria eqAll(java.lang.String propertyName, groovy.lang.Closure propertyValue)

Creates a subquery criterion that ensures the given property is less than all the given returned values

org.grails.datastore.mapping.query.api.Criteria eqAll(java.lang.String propertyName, org.grails.datastore.mapping.query.api.QueryableCriteria propertyValue)

Creates a subquery criterion that ensures the given property is less than all the given returned values

org.grails.datastore.mapping.query.api.Criteria eqProperty(java.lang.String propertyName, java.lang.String otherPropertyName)

void fetchMode(java.lang.String associationPath, org.hibernate.FetchMode fetchMode)

org.grails.datastore.mapping.query.api.Criteria ge(java.lang.String propertyName, java.lang.Object propertyValue)

Creates a "less than" Criterion based on the specified property name and value

org.grails.datastore.mapping.query.api.Criteria geAll(java.lang.String propertyName, groovy.lang.Closure propertyValue)

Creates a subquery criterion that ensures the given property is equal to all the given returned values

org.grails.datastore.mapping.query.api.Criteria geAll(java.lang.String propertyName, org.grails.datastore.mapping.query.api.QueryableCriteria propertyValue)

org.grails.datastore.mapping.query.api.Criteria geProperty(java.lang.String propertyName, java.lang.String otherPropertyName)

Creates a Criterion that tests if the first property is less than the second property

static org.hibernate.criterion.DetachedCriteria getHibernateDetachedCriteria(org.grails.datastore.mapping.query.api.QueryableCriteria queryableCriteria)

org.hibernate.Criteria getInstance()

A projection that selects a property name

java.lang.Class getTargetClass()

void groupProperty(java.lang.String propertyName)

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

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

org.grails.datastore.mapping.query.api.Criteria gt(java.lang.String propertyName, java.lang.Object propertyValue)

org.grails.datastore.mapping.query.api.Criteria gtAll(java.lang.String propertyName, groovy.lang.Closure propertyValue)

Creates a subquery criterion that ensures the given property is greater than all the given returned values

org.grails.datastore.mapping.query.api.Criteria gtAll(java.lang.String propertyName, org.grails.datastore.mapping.query.api.QueryableCriteria propertyValue)

org.grails.datastore.mapping.query.api.Criteria gtProperty(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

org.grails.datastore.mapping.query.api.Criteria gte(java.lang.String s, java.lang.Object o)

org.grails.datastore.mapping.query.api.ProjectionList id()

org.grails.datastore.mapping.query.api.Criteria idEq(java.lang.Object o)

org.grails.datastore.mapping.query.api.Criteria idEquals(java.lang.Object o)

org.grails.datastore.mapping.query.api.Criteria ilike(java.lang.String propertyName, java.lang.Object propertyValue)

Applys a "in" contrain on the specified property

org.grails.datastore.mapping.query.api.Criteria in(java.lang.String propertyName, java.util.Collection values)

Delegates to in as in is a Groovy keyword

org.grails.datastore.mapping.query.api.Criteria in(java.lang.String propertyName, java.lang.Object[] values)

org.grails.datastore.mapping.query.api.Criteria inList(java.lang.String propertyName, java.util.Collection values)

Applys a "in" contrain on the specified property

org.grails.datastore.mapping.query.api.Criteria inList(java.lang.String propertyName, java.lang.Object[] values)

java.lang.Object invokeMethod(java.lang.String name, java.lang.Object obj)

org.grails.datastore.mapping.query.api.Criteria isEmpty(java.lang.String property)

org.grails.datastore.mapping.query.api.Criteria isNotEmpty(java.lang.String property)

org.grails.datastore.mapping.query.api.Criteria isNotNull(java.lang.String property)

org.grails.datastore.mapping.query.api.Criteria isNull(java.lang.String property)

void join(java.lang.String associationPath)

org.grails.datastore.mapping.query.api.Criteria le(java.lang.String propertyName, java.lang.Object propertyValue)

org.grails.datastore.mapping.query.api.Criteria leAll(java.lang.String propertyName, groovy.lang.Closure propertyValue)

Creates a subquery criterion that ensures the given property is greater than all the given returned values

org.grails.datastore.mapping.query.api.Criteria leAll(java.lang.String propertyName, org.grails.datastore.mapping.query.api.QueryableCriteria propertyValue)

org.grails.datastore.mapping.query.api.Criteria leProperty(java.lang.String propertyName, java.lang.String otherPropertyName)

Creates a subquery criterion that ensures the given property is equal to all the given returned values

org.grails.datastore.mapping.query.api.Criteria like(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 lock(boolean shouldLock)

Use a select query

org.grails.datastore.mapping.query.api.Criteria lt(java.lang.String propertyName, java.lang.Object propertyValue)

Creates a "less than or equal to" Criterion based on the specified property name and value

org.grails.datastore.mapping.query.api.Criteria ltAll(java.lang.String propertyName, groovy.lang.Closure propertyValue)

Creates a subquery criterion that ensures the given property is less than all the given returned values

org.grails.datastore.mapping.query.api.Criteria ltAll(java.lang.String propertyName, org.grails.datastore.mapping.query.api.QueryableCriteria propertyValue)

org.grails.datastore.mapping.query.api.Criteria ltProperty(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

org.grails.datastore.mapping.query.api.Criteria lte(java.lang.String s, java.lang.Object o)

org.grails.datastore.mapping.query.api.ProjectionList max(java.lang.String propertyName)

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

org.grails.datastore.mapping.query.api.ProjectionList max(java.lang.String propertyName, java.lang.String alias)

org.grails.datastore.mapping.query.api.ProjectionList min(java.lang.String propertyName)

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

org.grails.datastore.mapping.query.api.ProjectionList min(java.lang.String propertyName, java.lang.String alias)

org.grails.datastore.mapping.query.api.Criteria ne(java.lang.String propertyName, java.lang.Object propertyValue)

Creates a "between" Criterion based on the property name and specified lo and hi values

org.grails.datastore.mapping.query.api.Criteria neProperty(java.lang.String propertyName, java.lang.String otherPropertyName)

Creates a Criterion that tests if the first property is greater than the second property

org.grails.datastore.mapping.query.api.Criteria notEqual(java.lang.String propertyName, java.lang.Object propertyValue)

org.grails.datastore.mapping.query.api.Criteria order(java.lang.String propertyName)

Orders by the specified property name (defaults to ascending)

org.grails.datastore.mapping.query.api.Criteria order(org.hibernate.criterion.Order o)

Orders by the specified property name and direction

org.grails.datastore.mapping.query.api.Criteria order(java.lang.String propertyName, java.lang.String direction)

org.grails.datastore.mapping.query.api.ProjectionList property(java.lang.String propertyName)

org.grails.datastore.mapping.query.api.ProjectionList property(java.lang.String propertyName, java.lang.String alias)

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

org.grails.datastore.mapping.query.api.Criteria rlike(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

org.grails.datastore.mapping.query.api.ProjectionList rowCount()

org.grails.datastore.mapping.query.api.ProjectionList rowCount(java.lang.String alias)

void select(java.lang.String associationPath)

Whether to use the query cache

void setGrailsApplication(GrailsApplication grailsApplication)

A projection that selects a property name

void setUniqueResult(boolean uniqueResult)

org.grails.datastore.mapping.query.api.Criteria sizeEq(java.lang.String propertyName, int size)

Creates a Criterion that contrains a collection property to be greater than the given size

org.grails.datastore.mapping.query.api.Criteria sizeGe(java.lang.String propertyName, int size)

Creates a Criterion that contrains a collection property to be less than or equal to the given size

org.grails.datastore.mapping.query.api.Criteria sizeGt(java.lang.String propertyName, int size)

Creates a Criterion that contrains a collection property to be greater than or equal to the given size

org.grails.datastore.mapping.query.api.Criteria sizeLe(java.lang.String propertyName, int size)

Creates a Criterion that contrains a collection property to be less than to the given size

org.grails.datastore.mapping.query.api.Criteria sizeLt(java.lang.String propertyName, int size)

Creates a Criterion that contrains a collection property to be not equal to the given size

org.grails.datastore.mapping.query.api.Criteria sizeNe(java.lang.String propertyName, int size)

Creates a "not equal" Criterion based on the specified property name and value

protected void sqlGroupProjection(java.lang.String sql, java.lang.String groupBy, java.util.List columnAliases, java.util.List types)

protected void sqlProjection(java.lang.String sql, java.lang.String columnAlias, org.hibernate.type.Type type)

Adds a sql projection to the criteria

protected void sqlProjection(java.lang.String sql, java.util.List columnAliases, java.util.List types)

A projection that selects a distince property name

org.grails.datastore.mapping.query.api.Criteria 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"
       }
      

org.grails.datastore.mapping.query.api.Criteria sqlRestriction(java.lang.String sqlRestriction, java.util.List values)

org.grails.datastore.mapping.query.api.ProjectionList sum(java.lang.String propertyName)

Sets the fetch mode of an associated path

org.grails.datastore.mapping.query.api.ProjectionList sum(java.lang.String propertyName, java.lang.String alias)

Sets the resultTransformer.

 
Methods inherited from class groovy.lang.GroovyObjectSupport
groovy.lang.GroovyObjectSupport#getMetaClass(), groovy.lang.GroovyObjectSupport#setMetaClass(groovy.lang.MetaClass), groovy.lang.GroovyObjectSupport#setProperty(java.lang.String, java.lang.Object), groovy.lang.GroovyObjectSupport#getProperty(java.lang.String), groovy.lang.GroovyObjectSupport#invokeMethod(java.lang.String, java.lang.Object), groovy.lang.GroovyObjectSupport#wait(), groovy.lang.GroovyObjectSupport#wait(long, int), groovy.lang.GroovyObjectSupport#wait(long), 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, int), java.lang.Object#wait(long), 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


BIG_DECIMAL

public static final org.hibernate.type.Type BIG_DECIMAL


BIG_INTEGER

public static final org.hibernate.type.Type BIG_INTEGER


BINARY

public static final org.hibernate.type.Type BINARY


BLOB

public static final org.hibernate.type.Type BLOB


BOOLEAN

public static final org.hibernate.type.Type BOOLEAN


BYTE

public static final org.hibernate.type.Type BYTE


CALENDAR

public static final org.hibernate.type.Type CALENDAR


CALENDAR_DATE

public static final org.hibernate.type.Type CALENDAR_DATE


CHARACTER

public static final org.hibernate.type.Type CHARACTER


CHARACTERS_CLOB

public static final org.hibernate.type.Type CHARACTERS_CLOB


CHARACTER_ARRAY

public static final org.hibernate.type.Type CHARACTER_ARRAY


CHAR_ARRAY

public static final org.hibernate.type.Type CHAR_ARRAY


CLASS

public static final org.hibernate.type.Type CLASS


CLOB

public static final org.hibernate.type.Type CLOB


CURRENCY

public static final org.hibernate.type.Type CURRENCY


DATE

public static final org.hibernate.type.Type DATE


DOUBLE

public static final org.hibernate.type.Type DOUBLE


EQUALS

public static final java.lang.String EQUALS


EQUALS_PROPERTY

public static final java.lang.String EQUALS_PROPERTY


FLOAT

public static final org.hibernate.type.Type FLOAT


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


IMAGE

public static final org.hibernate.type.Type IMAGE


IN

public static final java.lang.String IN


INTEGER

public static final org.hibernate.type.Type INTEGER


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


LOCALE

public static final org.hibernate.type.Type LOCALE


LONG

public static final org.hibernate.type.Type LONG


MATERIALIZED_BLOB

public static final org.hibernate.type.Type MATERIALIZED_BLOB


MATERIALIZED_CLOB

public static final org.hibernate.type.Type MATERIALIZED_CLOB


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


NUMERIC_BOOLEAN

public static final org.hibernate.type.Type NUMERIC_BOOLEAN


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


SERIALIZABLE

public static final org.hibernate.type.Type SERIALIZABLE


SHORT

public static final org.hibernate.type.Type SHORT


SIZE_EQUALS

public static final java.lang.String SIZE_EQUALS


STRING

public static final org.hibernate.type.Type STRING


TEXT

public static final org.hibernate.type.Type TEXT


TIME

public static final org.hibernate.type.Type TIME


TIMESTAMP

public static final org.hibernate.type.Type TIMESTAMP


TIMEZONE

public static final org.hibernate.type.Type TIMEZONE


TRUE_FALSE

public static final org.hibernate.type.Type TRUE_FALSE


URL

public static final org.hibernate.type.Type URL


UUID_BINARY

public static final org.hibernate.type.Type UUID_BINARY


UUID_CHAR

public static final org.hibernate.type.Type UUID_CHAR


WRAPPER_BINARY

public static final org.hibernate.type.Type WRAPPER_BINARY


WRAPPER_CHARACTERS_CLOB

public static final org.hibernate.type.Type WRAPPER_CHARACTERS_CLOB


WRAPPER_MATERIALIZED_BLOB

public static final org.hibernate.type.Type WRAPPER_MATERIALIZED_BLOB


YES_NO

public static final org.hibernate.type.Type YES_NO


 
Constructor Detail

HibernateCriteriaBuilder

* Set whether a unique result should be returned
public HibernateCriteriaBuilder(java.lang.Class targetClass, org.hibernate.SessionFactory sessionFactory)


HibernateCriteriaBuilder

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


 
Method Detail

addProjectionToList

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


avg

public org.grails.datastore.mapping.query.api.ProjectionList avg(java.lang.String propertyName)
Use a join query
Parameters:
associationPath - The path of the association


avg

public org.grails.datastore.mapping.query.api.ProjectionList avg(java.lang.String propertyName, java.lang.String alias)


between

public org.grails.datastore.mapping.query.api.Criteria between(java.lang.String propertyName, java.lang.Object lo, java.lang.Object hi)


buildCriteria

public org.hibernate.Criteria buildCriteria(groovy.lang.Closure criteriaClosure)
Throws a runtime exception where necessary to ensure the session gets closed


cache

public void cache(boolean shouldCache)


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
alias - The alias to use


count

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


count

public org.grails.datastore.mapping.query.api.ProjectionList count()


countDistinct

public org.grails.datastore.mapping.query.api.ProjectionList countDistinct(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


countDistinct

public org.grails.datastore.mapping.query.api.ProjectionList countDistinct(java.lang.String propertyName, java.lang.String alias)


createAlias

public org.hibernate.Criteria createAlias(java.lang.String associationPath, java.lang.String alias)


createAlias

public org.hibernate.Criteria createAlias(java.lang.String associationPath, java.lang.String alias, int joinType)


distinct

public org.grails.datastore.mapping.query.api.ProjectionList distinct(java.lang.String propertyName)


distinct

public org.grails.datastore.mapping.query.api.ProjectionList distinct(java.lang.String propertyName, java.lang.String alias)
A distinct projection that takes a list
Parameters:
propertyNames - The list of distince property names
alias - The alias to use


distinct

*/
public org.grails.datastore.mapping.query.api.ProjectionList distinct(java.util.Collection propertyNames)


distinct

public org.grails.datastore.mapping.query.api.ProjectionList avg(String propertyName, String alias) {
public org.grails.datastore.mapping.query.api.ProjectionList distinct(java.util.Collection propertyNames, 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


distinct

public org.grails.datastore.mapping.query.api.ProjectionList distinct()


eq

public org.grails.datastore.mapping.query.api.Criteria eq(java.lang.String propertyName, java.lang.Object propertyValue)


eq

eq = Property.forName(propertyName).eq((org.hibernate.criterion.DetachedCriteria) propertyValue);
public org.grails.datastore.mapping.query.api.Criteria eq(java.util.Map params, java.lang.String propertyName, java.lang.Object propertyValue)


eq

/**
public org.grails.datastore.mapping.query.api.Criteria eq(java.lang.String propertyName, java.lang.Object propertyValue, java.util.Map params)


eqAll

return ltAll(propertyName, new DetachedCriteria(targetClass).build(propertyValue));
public org.grails.datastore.mapping.query.api.Criteria eqAll(java.lang.String propertyName, groovy.lang.Closure propertyValue)
Creates a subquery criterion that ensures the given property is less than all the given returned values
Parameters:
propertyName - The property name
propertyValue - The property value
Returns:
A Criterion instance


eqAll

public org.grails.datastore.mapping.query.api.Criteria eqAll(java.lang.String propertyName, @SuppressWarnings("rawtypes") org.grails.datastore.mapping.query.api.QueryableCriteria propertyValue)
Creates a subquery criterion that ensures the given property is less than all the given returned values
Parameters:
propertyName - The property name
propertyValue - The property value
Returns:
A Criterion instance


eqProperty

public org.grails.datastore.mapping.query.api.Criteria eqProperty(java.lang.String propertyName, java.lang.String otherPropertyName)


fetchMode

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


ge

public org.grails.datastore.mapping.query.api.Criteria ge(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


geAll

addToCriteria(Property.forName(propertyName).eqAll(getHibernateDetachedCriteria(propertyValue)));
public org.grails.datastore.mapping.query.api.Criteria geAll(java.lang.String propertyName, groovy.lang.Closure propertyValue)
Creates a subquery criterion that ensures the given property is equal to all the given returned values
Parameters:
propertyName - The property name
propertyValue - The property value
Returns:
A Criterion instance


geAll

public org.grails.datastore.mapping.query.api.Criteria geAll(java.lang.String propertyName, g.grails.datastore.mapping.que org.grails.datastore.mapping.query.api.QueryableCriteria propertyValue)


geProperty

public org.grails.datastore.mapping.query.api.Criteria geProperty(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


getHibernateDetachedCriteria

public static org.hibernate.criterion.DetachedCriteria getHibernateDetachedCriteria(org.grails.datastore.mapping.query.api.QueryableCriteria queryableCriteria)


getInstance

public org.hibernate.Criteria getInstance()
A projection that selects a property name
Parameters:
propertyName - The name of the property
alias - The alias to use


getTargetClass

public java.lang.Class getTargetClass()


groupProperty

public void groupProperty(java.lang.String propertyName)
Adds a projection that allows the criteria to retrieve a maximum property value
Parameters:
propertyName - The name of the property


groupProperty

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


gt

public org.grails.datastore.mapping.query.api.Criteria gt(java.lang.String propertyName, java.lang.Object propertyValue)


gtAll

return geAll(propertyName, new DetachedCriteria(targetClass).build(propertyValue));
public org.grails.datastore.mapping.query.api.Criteria gtAll(java.lang.String propertyName, groovy.lang.Closure propertyValue)
Creates a subquery criterion that ensures the given property is greater than all the given returned values
Parameters:
propertyName - The property name
propertyValue - The property value
Returns:
A Criterion instance


gtAll

public org.grails.datastore.mapping.query.api.Criteria gtAll(java.lang.String propertyName, g.grails.datastore.mapping.que org.grails.datastore.mapping.query.api.QueryableCriteria propertyValue)


gtProperty

public org.grails.datastore.mapping.query.api.Criteria gtProperty(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


gte

public org.grails.datastore.mapping.query.api.Criteria gte(java.lang.String s, java.lang.Object o)


id

public org.grails.datastore.mapping.query.api.ProjectionList id()


idEq

public org.grails.datastore.mapping.query.api.Criteria idEq(java.lang.Object o)


idEquals

public org.grails.datastore.mapping.query.api.Criteria idEquals(java.lang.Object o)


ilike

public org.grails.datastore.mapping.query.api.Criteria ilike(java.lang.String propertyName, java.lang.Object propertyValue)
Applys a "in" contrain on the specified property
Parameters:
propertyName - The property name
values - A collection of values
Returns:
A Criterion instance


in

public org.grails.datastore.mapping.query.api.Criteria in(java.lang.String propertyName, java.util.Collection values)
Delegates to in as in is a Groovy keyword


in

public org.grails.datastore.mapping.query.api.Criteria in(java.lang.String propertyName, java.lang.Object[] values)


inList

addToCriteria(Restrictions.in(propertyName, values));
public org.grails.datastore.mapping.query.api.Criteria inList(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


inList

public org.grails.datastore.mapping.query.api.Criteria inList(java.lang.String propertyName, java.lang.Object[] values)


invokeMethod

resultTransformer = CriteriaSpecification.DISTINCT_ROOT_ENTITY;
}
public java.lang.Object invokeMethod(java.lang.String name, java.lang.Object obj)


isEmpty

public org.grails.datastore.mapping.query.api.Criteria isEmpty(java.lang.String property)


isNotEmpty

public org.grails.datastore.mapping.query.api.Criteria isNotEmpty(java.lang.String property)


isNotNull

public org.grails.datastore.mapping.query.api.Criteria isNotNull(java.lang.String property)


isNull

public org.grails.datastore.mapping.query.api.Criteria isNull(java.lang.String property)


join

public void join(java.lang.String associationPath)


le

public org.grails.datastore.mapping.query.api.Criteria le(java.lang.String propertyName, java.lang.Object propertyValue)


leAll

@SuppressWarnings("rawtypes") QueryableCriteria propertyValue) {
public org.grails.datastore.mapping.query.api.Criteria leAll(java.lang.String propertyName, groovy.lang.Closure propertyValue)
Creates a subquery criterion that ensures the given property is greater than all the given returned values
Parameters:
propertyName - The property name
propertyValue - The property value
Returns:
A Criterion instance


leAll

public org.grails.datastore.mapping.query.api.Criteria leAll(java.lang.String propertyName, t = Restrictions.gt(propertyNa org.grails.datastore.mapping.query.api.QueryableCriteria propertyValue)


leProperty

public org.grails.datastore.mapping.query.api.Criteria leProperty(java.lang.String propertyName, java.lang.String otherPropertyName)
Creates a subquery criterion that ensures the given property is equal to all the given returned values
Parameters:
propertyName - The property name
propertyValue - The property value
Returns:
A Criterion instance


like

public org.grails.datastore.mapping.query.api.Criteria like(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


lock

public void lock(boolean shouldLock)
Use a select query
Parameters:
associationPath - The path of the association


lt

public org.grails.datastore.mapping.query.api.Criteria lt(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


ltAll

return leAll(propertyName, new DetachedCriteria(targetClass).build(propertyValue));
public org.grails.datastore.mapping.query.api.Criteria ltAll(java.lang.String propertyName, groovy.lang.Closure propertyValue)
Creates a subquery criterion that ensures the given property is less than all the given returned values
Parameters:
propertyName - The property name
propertyValue - The property value
Returns:
A Criterion instance


ltAll

public org.grails.datastore.mapping.query.api.Criteria ltAll(java.lang.String propertyName,  org.grails.datastore.mapping.query.api.QueryableCriteria propertyValue)


ltProperty

public org.grails.datastore.mapping.query.api.Criteria ltProperty(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


lte

public org.grails.datastore.mapping.query.api.Criteria lte(java.lang.String s, java.lang.Object o)


max

public org.grails.datastore.mapping.query.api.ProjectionList max(java.lang.String propertyName)
Adds a projection that allows the criteria to retrieve a minimum property value
Parameters:
propertyName - The name of the property


max

public org.grails.datastore.mapping.query.api.ProjectionList max(java.lang.String propertyName, java.lang.String alias)


min

public org.grails.datastore.mapping.query.api.ProjectionList min(java.lang.String propertyName)
Adds a projection that allows the criteria to return the row count


min

public org.grails.datastore.mapping.query.api.ProjectionList min(java.lang.String propertyName, java.lang.String alias)


ne

public org.grails.datastore.mapping.query.api.Criteria ne(java.lang.String propertyName, java.lang.Object propertyValue)
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


neProperty

public org.grails.datastore.mapping.query.api.Criteria neProperty(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


notEqual

public org.grails.datastore.mapping.query.api.Criteria notEqual(java.lang.String propertyName, java.lang.Object propertyValue)


order

public org.grails.datastore.mapping.query.api.Criteria order(java.lang.String propertyName)
Orders by the specified property name (defaults to ascending)
Parameters:
o - The property name to order by
Returns:
A Order instance


order

public org.grails.datastore.mapping.query.api.Criteria order(org.hibernate.criterion.Order o)
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


order

public org.grails.datastore.mapping.query.api.Criteria order(java.lang.String propertyName, java.lang.String direction)


property

public org.grails.datastore.mapping.query.api.ProjectionList property(java.lang.String propertyName)


property

public org.grails.datastore.mapping.query.api.ProjectionList property(java.lang.String propertyName, java.lang.String alias)


resultTransformer

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


rlike

public org.grails.datastore.mapping.query.api.Criteria rlike(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


rowCount

public org.grails.datastore.mapping.query.api.ProjectionList rowCount()


rowCount

public org.grails.datastore.mapping.query.api.ProjectionList rowCount(java.lang.String alias)


select

public void select(java.lang.String associationPath)
Whether to use the query cache
Parameters:
shouldCache - True if the query should be cached


setGrailsApplication

public void setGrailsApplication(GrailsApplication grailsApplication)
A projection that selects a property name
Parameters:
propertyName - The name of the property


setUniqueResult

public void setUniqueResult(boolean uniqueResult)


sizeEq

public org.grails.datastore.mapping.query.api.Criteria sizeEq(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


sizeGe

public org.grails.datastore.mapping.query.api.Criteria sizeGe(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


sizeGt

public org.grails.datastore.mapping.query.api.Criteria sizeGt(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


sizeLe

public org.grails.datastore.mapping.query.api.Criteria sizeLe(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


sizeLt

public org.grails.datastore.mapping.query.api.Criteria sizeLt(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


sizeNe

public org.grails.datastore.mapping.query.api.Criteria sizeNe(java.lang.String propertyName, int size)
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


sqlGroupProjection

protected void sqlGroupProjection(java.lang.String sql, java.lang.String groupBy, java.util.List columnAliases, java.util.List types)


sqlProjection

protected void sqlProjection(java.lang.String sql, java.lang.String columnAlias, org.hibernate.type.Type type)
Adds a sql projection to the criteria
Parameters:
sql - SQL projecting
groupBy - group by clause
columnAliases - List of column aliases for the projected values
types - List of types for the projected values


sqlProjection

protected void sqlProjection(java.lang.String sql, java.util.List columnAliases, java.util.List types)
A projection that selects a distince property name
Parameters:
propertyName - The property name


sqlRestriction

public org.grails.datastore.mapping.query.api.Criteria 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 Criteria instance


sqlRestriction

public org.grails.datastore.mapping.query.api.Criteria sqlRestriction(java.lang.String sqlRestriction, java.util.List values)


sum

public org.grails.datastore.mapping.query.api.ProjectionList sum(java.lang.String propertyName)
Sets the fetch mode of an associated path
Parameters:
associationPath - The name of the associated path
fetchMode - The fetch mode to set


sum

public org.grails.datastore.mapping.query.api.ProjectionList sum(java.lang.String propertyName, java.lang.String alias)
Sets the resultTransformer.
Parameters:
transformer - The result transformer to use.


 

Groovy Documentation