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 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, 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)

Adds a projection to the projectList for the given alias

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

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

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

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

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

org.hibernate.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

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 to return the distinct property count

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

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

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

Join an association, assigning an alias to the joined association.

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

Join an association using the specified join-type, assigning an alias to the joined association.

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

A projection that selects a distince property name

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

A projection that selects a distince property name

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

A distinct projection that takes a list

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

A distinct projection that takes a list

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

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

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

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

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

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 equal to 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 equal to all the given returned values

org.grails.datastore.mapping.query.api.Criteria 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, org.hibernate.FetchMode fetchMode)

Sets the fetch mode of an associated path

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

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 greater than 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)

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

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 greater than or equal to the second property

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

org.hibernate.Criteria getInstance()

Returns the criteria instance

java.lang.Class getTargetClass()

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

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

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

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)

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

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

Creates a Criterion with from the specified property name and "ilike" (a case sensitive version of "like") expression

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

Applys a "in" contrain on the specified property

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

Applys a "in" contrain on the specified property

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

Delegates to in as in is a Groovy keyword

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

Delegates to in as in is a Groovy keyword

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)

Use a join query

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

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 less 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)

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

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

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 "like" expression

void lock(boolean shouldLock)

Whether a pessimistic lock should be obtained.

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

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

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 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 maximum property value

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

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

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

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

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

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

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

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

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

Creates a Criterion that compares to class properties for !

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 (defaults to ascending)

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

Orders by the specified property name and direction

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

A projection that selects a property name

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

A projection that selects a property name

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

Sets the resultTransformer.

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 "rlike" (a regular expression version of "like") expression

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

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

org.grails.datastore.mapping.query.api.ProjectionList 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 setGrailsApplication(GrailsApplication grailsApplication)

void setUniqueResult(boolean uniqueResult)

Set whether a unique result should be returned

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

Creates a Criterion that contrains a collection property by 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 greater 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 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 or equal 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 less than to the given size

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

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

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

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

Adds a projection that allows the criteria to retrieve the sum of the results of a property

org.grails.datastore.mapping.query.api.ProjectionList 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("rawtypes")
public HibernateCriteriaBuilder(java.lang.Class targetClass, org.hibernate.SessionFactory sessionFactory)


HibernateCriteriaBuilder

@SuppressWarnings("rawtypes")
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)
Adds a projection to the projectList for the given alias
Parameters:
propertyProjection - The projection
alias - The alias


avg

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


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 to return the distinct property count
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)
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


createAlias

public org.hibernate.Criteria createAlias(java.lang.String associationPath, java.lang.String alias)
Join an association, assigning an alias to the joined association.

Functionally equivalent to createAlias(String, String, int) using CriteriaSpecificationINNER_JOIN for the joinType.

throws:
HibernateException Indicates a problem creating the sub criteria
Parameters:
associationPath - A dot-seperated property path
alias - The alias to assign to the joined association (for later reference).
Returns:
this (for method chaining) #see createAlias(String, String, int)


createAlias

public org.hibernate.Criteria createAlias(java.lang.String associationPath, java.lang.String alias, int joinType)
Join an association using the specified join-type, assigning an alias to the joined association.

The joinType is expected to be one of CriteriaSpecification.INNER_JOIN (the default), CriteriaSpecificationFULL_JOIN, or CriteriaSpecificationLEFT_JOIN.

throws:
HibernateException Indicates a problem creating the sub criteria
Parameters:
associationPath - A dot-seperated property path
alias - The alias to assign to the joined association (for later reference).
joinType - The type of join to use.
Returns:
this (for method chaining)
See Also:
createAlias(String, String)


distinct

public org.grails.datastore.mapping.query.api.ProjectionList distinct(java.lang.String propertyName)
A projection that selects a distince property name
Parameters:
propertyName - The property name


distinct

public org.grails.datastore.mapping.query.api.ProjectionList 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 org.grails.datastore.mapping.query.api.ProjectionList distinct(java.util.Collection propertyNames)
A distinct projection that takes a list
Parameters:
propertyNames - The list of distince property names


distinct

@SuppressWarnings("rawtypes")
public org.grails.datastore.mapping.query.api.ProjectionList 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


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


eqAll

@SuppressWarnings({ "unchecked", "rawtypes" })
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 equal to 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 equal to 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)
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, 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


ge

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


geAll

@SuppressWarnings({ "unchecked", "rawtypes" })
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 greater than 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, @SuppressWarnings("rawtypes") org.grails.datastore.mapping.query.api.QueryableCriteria 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


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 greater than or equal to 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()
Returns the criteria instance
Returns:
The criteria instance


getTargetClass

public java.lang.Class getTargetClass()


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


gtAll

@SuppressWarnings({ "unchecked", "rawtypes" })
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, @SuppressWarnings("rawtypes") org.grails.datastore.mapping.query.api.QueryableCriteria 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


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 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)
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 org.grails.datastore.mapping.query.api.Criteria 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 org.grails.datastore.mapping.query.api.Criteria in(java.lang.String propertyName, java.lang.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 org.grails.datastore.mapping.query.api.Criteria inList(java.lang.String propertyName, java.util.Collection values)
Delegates to in as in is a Groovy keyword


inList

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


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)
Use a join query
Parameters:
associationPath - The path of the association


le

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


leAll

@SuppressWarnings({ "unchecked", "rawtypes" })
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 less 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, @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


leProperty

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


ltAll

@SuppressWarnings({ "unchecked", "rawtypes" })
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, @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


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 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 maximum 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)
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 org.grails.datastore.mapping.query.api.ProjectionList 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 org.grails.datastore.mapping.query.api.ProjectionList 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 org.grails.datastore.mapping.query.api.Criteria 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 org.grails.datastore.mapping.query.api.Criteria 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 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:
propertyName - 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 (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(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 org.grails.datastore.mapping.query.api.ProjectionList property(java.lang.String propertyName)
A projection that selects a property name
Parameters:
propertyName - The name of the property


property

public org.grails.datastore.mapping.query.api.ProjectionList 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(org.hibernate.transform.ResultTransformer transformer)
Sets the resultTransformer.
Parameters:
transformer - The result transformer to use.


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 "rlike" (a regular expression 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()
Adds a projection that allows the criteria to return the row count


rowCount

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


setGrailsApplication

public void setGrailsApplication(GrailsApplication grailsApplication)


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 org.grails.datastore.mapping.query.api.Criteria 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 org.grails.datastore.mapping.query.api.Criteria 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 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 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 or equal 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 less than 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 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 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)
Applies a sql restriction to the results to allow something like:
       def results = Person.withCriteria {
           sqlRestriction "char_length(first_name) < ? AND char_length(first_name) > ?", [4, 9]
       }
      
Parameters:
sqlRestriction - the sql restriction
values - jdbc parameters
Returns:
a Criteria instance


sum

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