|
Groovy Documentation | |||||||
FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object groovy.lang.GroovyObjectSupport grails.orm.HibernateCriteriaBuilder
public class HibernateCriteriaBuilder extends groovy.lang.GroovyObjectSupport
Wraps the Hibernate Criteria API in a builder. The builder can be retrieved through the "createCriteria()" dynamic static method of Grails domain classes (Example in Groovy):
def c = Account.createCriteria() def results = c { projections { groupProperty("branch") } like("holderFirstName", "Fred%") and { between("balance", 500, 1000) eq("branch", "London") } maxResults(10) order("holderLastName", "desc") }
The builder can also be instantiated standalone with a SessionFactory and persistent Class instance:
new HibernateCriteriaBuilder(clazz, sessionFactory).list { eq("firstName", "Fred") }
Field Summary | |
---|---|
static java.lang.String |
AND
|
static java.lang.String |
BETWEEN
|
static java.lang.String |
EQUALS
|
static java.lang.String |
EQUALS_PROPERTY
|
static java.lang.String |
GREATER_THAN
|
static java.lang.String |
GREATER_THAN_OR_EQUAL
|
static java.lang.String |
GREATER_THAN_OR_EQUAL_PROPERTY
|
static java.lang.String |
GREATER_THAN_PROPERTY
|
static java.lang.String |
ID_EQUALS
|
static java.lang.String |
ILIKE
|
static java.lang.String |
IN
|
static java.lang.String |
IS_EMPTY
|
static java.lang.String |
IS_NOT_EMPTY
|
static java.lang.String |
IS_NOT_NULL
|
static java.lang.String |
IS_NULL
|
static java.lang.String |
LESS_THAN
|
static java.lang.String |
LESS_THAN_OR_EQUAL
|
static java.lang.String |
LESS_THAN_OR_EQUAL_PROPERTY
|
static java.lang.String |
LESS_THAN_PROPERTY
|
static java.lang.String |
LIKE
|
static java.lang.String |
NOT
|
static java.lang.String |
NOT_EQUAL
|
static java.lang.String |
NOT_EQUAL_PROPERTY
|
static java.lang.String |
OR
|
static java.lang.String |
ORDER_ASCENDING
|
static java.lang.String |
ORDER_DESCENDING
|
static java.lang.String |
RLIKE
|
static java.lang.String |
SIZE_EQUALS
|
Constructor Summary | |
HibernateCriteriaBuilder(java.lang.Class targetClass, SessionFactory sessionFactory)
|
|
HibernateCriteriaBuilder(java.lang.Class targetClass, SessionFactory sessionFactory, boolean uniqueResult)
|
Method Summary | |
---|---|
protected void
|
addProjectionToList(Projection propertyProjection, java.lang.String alias)
Adds a projection to the projectList for the given alias |
void
|
avg(java.lang.String propertyName)
Adds a projection that allows the criteria to return the property average value |
void
|
avg(java.lang.String propertyName, java.lang.String alias)
Adds a projection that allows the criteria to return the property average value |
java.lang.Object
|
between(java.lang.String propertyName, java.lang.Object lo, java.lang.Object hi)
Creates a "between" Criterion based on the property name and specified lo and hi values |
Criteria
|
buildCriteria(groovy.lang.Closure criteriaClosure)
|
void
|
cache(boolean shouldCache)
Whether to use the query cache |
void
|
count(java.lang.String propertyName)
Adds a projection that allows the criteria to return the property count |
void
|
count(java.lang.String propertyName, java.lang.String alias)
Adds a projection that allows the criteria to return the property count |
void
|
countDistinct(java.lang.String propertyName)
Adds a projection that allows the criteria to return the distinct property count |
void
|
countDistinct(java.lang.String propertyName, java.lang.String alias)
Adds a projection that allows the criteria to return the distinct property count |
void
|
distinct(java.lang.String propertyName)
A projection that selects a distince property name |
void
|
distinct(java.lang.String propertyName, java.lang.String alias)
A projection that selects a distince property name |
void
|
distinct(java.util.Collection propertyNames)
A distinct projection that takes a list |
void
|
distinct(java.util.Collection propertyNames, java.lang.String alias)
A distinct projection that takes a list |
java.lang.Object
|
eq(java.lang.String propertyName, java.lang.Object propertyValue)
Creates an "equals" Criterion based on the specified property name and value. |
java.lang.Object
|
eq(java.util.Map params, java.lang.String propertyName, java.lang.Object propertyValue)
Groovy moves the map to the first parameter if using the idiomatic form, e.g. |
java.lang.Object
|
eq(java.lang.String propertyName, java.lang.Object propertyValue, java.util.Map params)
Creates an "equals" Criterion based on the specified property name and value. |
java.lang.Object
|
eqProperty(java.lang.String propertyName, java.lang.String otherPropertyName)
Creates a Criterion that compares to class properties for equality |
void
|
fetchMode(java.lang.String associationPath, FetchMode fetchMode)
Sets the fetch mode of an associated path |
java.lang.Object
|
ge(java.lang.String propertyName, java.lang.Object propertyValue)
Creates a "greater than or equal to" Criterion based on the specified property name and value |
java.lang.Object
|
geProperty(java.lang.String propertyName, java.lang.String otherPropertyName)
Creates a Criterion that tests if the first property is greater than or equal to the second property |
Criteria
|
getInstance()
Returns the criteria instance |
void
|
groupProperty(java.lang.String propertyName)
Adds a projection that allows the criteria's result to be grouped by a property |
void
|
groupProperty(java.lang.String propertyName, java.lang.String alias)
Adds a projection that allows the criteria's result to be grouped by a property |
java.lang.Object
|
gt(java.lang.String propertyName, java.lang.Object propertyValue)
Creates a "greater than" Criterion based on the specified property name and value |
java.lang.Object
|
gtProperty(java.lang.String propertyName, java.lang.String otherPropertyName)
Creates a Criterion that tests if the first property is greater than the second property |
java.lang.Object
|
ilike(java.lang.String propertyName, java.lang.Object propertyValue)
Creates a Criterion with from the specified property name and "ilike" (a case sensitive version of "like") expression |
java.lang.Object
|
in(java.lang.String propertyName, java.util.Collection values)
Applys a "in" contrain on the specified property |
java.lang.Object
|
in(java.lang.String propertyName, Object[] values)
Applys a "in" contrain on the specified property |
java.lang.Object
|
inList(java.lang.String propertyName, java.util.Collection values)
Delegates to in as in is a Groovy keyword |
java.lang.Object
|
inList(java.lang.String propertyName, Object[] values)
Delegates to in as in is a Groovy keyword |
java.lang.Object
|
invokeMethod(java.lang.String name, java.lang.Object obj)
|
void
|
join(java.lang.String associationPath)
Use a join query |
java.lang.Object
|
le(java.lang.String propertyName, java.lang.Object propertyValue)
Creates a "less than or equal to" Criterion based on the specified property name and value |
java.lang.Object
|
leProperty(java.lang.String propertyName, java.lang.String otherPropertyName)
Creates a Criterion that tests if the first property is less than or equal to the second property |
java.lang.Object
|
like(java.lang.String propertyName, java.lang.Object propertyValue)
Creates a Criterion with from the specified property name and "like" expression |
void
|
lock(boolean shouldLock)
Whether a pessimistic lock should be obtained. |
java.lang.Object
|
lt(java.lang.String propertyName, java.lang.Object propertyValue)
Creates a "less than" Criterion based on the specified property name and value |
java.lang.Object
|
ltProperty(java.lang.String propertyName, java.lang.String otherPropertyName)
Creates a Criterion that tests if the first property is less than the second property |
void
|
max(java.lang.String propertyName)
Adds a projection that allows the criteria to retrieve a maximum property value |
void
|
max(java.lang.String propertyName, java.lang.String alias)
Adds a projection that allows the criteria to retrieve a maximum property value |
void
|
min(java.lang.String propertyName)
Adds a projection that allows the criteria to retrieve a minimum property value |
void
|
min(java.lang.String propertyName, java.lang.String alias)
Adds a projection that allows the criteria to retrieve a minimum property value |
java.lang.Object
|
ne(java.lang.String propertyName, java.lang.Object propertyValue)
Creates a "not equal" Criterion based on the specified property name and value |
java.lang.Object
|
neProperty(java.lang.String propertyName, java.lang.String otherPropertyName)
Creates a Criterion that compares to class properties for ! |
java.lang.Object
|
notEqual(java.lang.String propertyName, java.lang.Object propertyValue)
|
java.lang.Object
|
order(java.lang.String propertyName)
Orders by the specified property name (defaults to ascending) |
java.lang.Object
|
order(java.lang.String propertyName, java.lang.String direction)
Orders by the specified property name and direction |
void
|
property(java.lang.String propertyName)
A projection that selects a property name |
void
|
property(java.lang.String propertyName, java.lang.String alias)
A projection that selects a property name |
void
|
resultTransformer(ResultTransformer transformer)
Sets the resultTransformer. |
java.lang.Object
|
rlike(java.lang.String propertyName, java.lang.Object propertyValue)
Creates a Criterion with from the specified property name and "rlike" (a regular expression version of "like") expression |
void
|
rowCount()
Adds a projection that allows the criteria to return the row count |
void
|
rowCount(java.lang.String alias)
Adds a projection that allows the criteria to return the row count |
void
|
select(java.lang.String associationPath)
Use a select query |
void
|
setUniqueResult(boolean uniqueResult)
Set whether a unique result should be returned |
java.lang.Object
|
sizeEq(java.lang.String propertyName, int size)
Creates a Criterion that contrains a collection property by size |
java.lang.Object
|
sizeGe(java.lang.String propertyName, int size)
Creates a Criterion that contrains a collection property to be greater than or equal to the given size |
java.lang.Object
|
sizeGt(java.lang.String propertyName, int size)
Creates a Criterion that contrains a collection property to be greater than the given size |
java.lang.Object
|
sizeLe(java.lang.String propertyName, int size)
Creates a Criterion that contrains a collection property to be less than or equal to the given size |
java.lang.Object
|
sizeLt(java.lang.String propertyName, int size)
Creates a Criterion that contrains a collection property to be less than to the given size |
java.lang.Object
|
sizeNe(java.lang.String propertyName, int size)
Creates a Criterion that contrains a collection property to be not equal to the given size |
java.lang.Object
|
sqlRestriction(java.lang.String sqlRestriction)
Applies a sql restriction to the results to allow something like: def results = Person.withCriteria { sqlRestriction "char_length(first_name) <= 4" } |
void
|
sum(java.lang.String propertyName)
Adds a projection that allows the criteria to retrieve the sum of the results of a property |
void
|
sum(java.lang.String propertyName, java.lang.String alias)
Adds a projection that allows the criteria to retrieve the sum of the results of a property |
Methods inherited from class groovy.lang.GroovyObjectSupport | |
---|---|
groovy.lang.GroovyObjectSupport#setProperty(java.lang.String, java.lang.Object), groovy.lang.GroovyObjectSupport#getProperty(java.lang.String), groovy.lang.GroovyObjectSupport#getMetaClass(), groovy.lang.GroovyObjectSupport#setMetaClass(groovy.lang.MetaClass), groovy.lang.GroovyObjectSupport#invokeMethod(java.lang.String, java.lang.Object), groovy.lang.GroovyObjectSupport#wait(), groovy.lang.GroovyObjectSupport#wait(long), groovy.lang.GroovyObjectSupport#wait(long, int), groovy.lang.GroovyObjectSupport#equals(java.lang.Object), groovy.lang.GroovyObjectSupport#toString(), groovy.lang.GroovyObjectSupport#hashCode(), groovy.lang.GroovyObjectSupport#getClass(), groovy.lang.GroovyObjectSupport#notify(), groovy.lang.GroovyObjectSupport#notifyAll() |
Methods inherited from class java.lang.Object | |
---|---|
java.lang.Object#wait(), java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll() |
Field Detail |
---|
public static final java.lang.String AND
public static final java.lang.String BETWEEN
public static final java.lang.String EQUALS
public static final java.lang.String EQUALS_PROPERTY
public static final java.lang.String GREATER_THAN
public static final java.lang.String GREATER_THAN_OR_EQUAL
public static final java.lang.String GREATER_THAN_OR_EQUAL_PROPERTY
public static final java.lang.String GREATER_THAN_PROPERTY
public static final java.lang.String ID_EQUALS
public static final java.lang.String ILIKE
public static final java.lang.String IN
public static final java.lang.String IS_EMPTY
public static final java.lang.String IS_NOT_EMPTY
public static final java.lang.String IS_NOT_NULL
public static final java.lang.String IS_NULL
public static final java.lang.String LESS_THAN
public static final java.lang.String LESS_THAN_OR_EQUAL
public static final java.lang.String LESS_THAN_OR_EQUAL_PROPERTY
public static final java.lang.String LESS_THAN_PROPERTY
public static final java.lang.String LIKE
public static final java.lang.String NOT
public static final java.lang.String NOT_EQUAL
public static final java.lang.String NOT_EQUAL_PROPERTY
public static final java.lang.String OR
public static final java.lang.String ORDER_ASCENDING
public static final java.lang.String ORDER_DESCENDING
public static final java.lang.String RLIKE
public static final java.lang.String SIZE_EQUALS
Constructor Detail |
---|
@SuppressWarnings({"unchecked","rawtypes"}) public HibernateCriteriaBuilder(java.lang.Class targetClass, SessionFactory sessionFactory)
@SuppressWarnings("rawtypes") public HibernateCriteriaBuilder(java.lang.Class targetClass, SessionFactory sessionFactory, boolean uniqueResult)
Method Detail |
---|
protected void addProjectionToList(Projection propertyProjection, java.lang.String alias)
propertyProjection
- The projectionalias
- The alias
public void avg(java.lang.String propertyName)
propertyName
- The name of the property
public void avg(java.lang.String propertyName, java.lang.String alias)
propertyName
- The name of the propertyalias
- The alias to use
public java.lang.Object between(java.lang.String propertyName, java.lang.Object lo, java.lang.Object hi)
propertyName
- The property namelo
- The low valuehi
- The high value
public Criteria buildCriteria(groovy.lang.Closure criteriaClosure)
public void cache(boolean shouldCache)
shouldCache
- True if the query should be cached
public void count(java.lang.String propertyName)
propertyName
- The name of the property
public void count(java.lang.String propertyName, java.lang.String alias)
propertyName
- The name of the propertyalias
- The alias to use
public void countDistinct(java.lang.String propertyName)
propertyName
- The name of the property
public void countDistinct(java.lang.String propertyName, java.lang.String alias)
propertyName
- The name of the propertyalias
- The alias to use
public void distinct(java.lang.String propertyName)
propertyName
- The property name
public void distinct(java.lang.String propertyName, java.lang.String alias)
propertyName
- The property namealias
- The alias to use
@SuppressWarnings("rawtypes") public void distinct(java.util.Collection propertyNames)
propertyNames
- The list of distince property names
@SuppressWarnings("rawtypes") public void distinct(java.util.Collection propertyNames, java.lang.String alias)
propertyNames
- The list of distince property namesalias
- The alias to use
public java.lang.Object eq(java.lang.String propertyName, java.lang.Object propertyValue)
propertyName
- The property namepropertyValue
- The property value
@SuppressWarnings("rawtypes") public java.lang.Object eq(java.util.Map params, java.lang.String propertyName, java.lang.Object propertyValue)
eq 'firstName', 'Fred', ignoreCase: true
.
params
- optional map with customization parameters; currently only 'ignoreCase' is supported.
@SuppressWarnings("rawtypes") public java.lang.Object eq(java.lang.String propertyName, java.lang.Object propertyValue, java.util.Map params)
params
map contains true
under the 'ignoreCase' key.
propertyName
- The property namepropertyValue
- The property valueparams
- optional map with customization parameters; currently only 'ignoreCase' is supported.
public java.lang.Object eqProperty(java.lang.String propertyName, java.lang.String otherPropertyName)
propertyName
- The first property nameotherPropertyName
- The second property name
public void fetchMode(java.lang.String associationPath, FetchMode fetchMode)
associationPath
- The name of the associated pathfetchMode
- The fetch mode to set
public java.lang.Object ge(java.lang.String propertyName, java.lang.Object propertyValue)
propertyName
- The property namepropertyValue
- The property value
public java.lang.Object geProperty(java.lang.String propertyName, java.lang.String otherPropertyName)
propertyName
- The first property nameotherPropertyName
- The second property name
public Criteria getInstance()
public void groupProperty(java.lang.String propertyName)
propertyName
- The name of the property
public void groupProperty(java.lang.String propertyName, java.lang.String alias)
propertyName
- The name of the propertyalias
- The alias to use
public java.lang.Object gt(java.lang.String propertyName, java.lang.Object propertyValue)
propertyName
- The property namepropertyValue
- The property value
public java.lang.Object gtProperty(java.lang.String propertyName, java.lang.String otherPropertyName)
propertyName
- The first property nameotherPropertyName
- The second property name
public java.lang.Object ilike(java.lang.String propertyName, java.lang.Object propertyValue)
propertyName
- The property namepropertyValue
- The ilike value
@SuppressWarnings("rawtypes") public java.lang.Object in(java.lang.String propertyName, java.util.Collection values)
propertyName
- The property namevalues
- A collection of values
public java.lang.Object in(java.lang.String propertyName, Object[] values)
propertyName
- The property namevalues
- A collection of values
@SuppressWarnings("rawtypes") public java.lang.Object inList(java.lang.String propertyName, java.util.Collection values)
public java.lang.Object inList(java.lang.String propertyName, Object[] values)
@SuppressWarnings("rawtypes") @Override public java.lang.Object invokeMethod(java.lang.String name, java.lang.Object obj)
public void join(java.lang.String associationPath)
associationPath
- The path of the association
public java.lang.Object le(java.lang.String propertyName, java.lang.Object propertyValue)
propertyName
- The property namepropertyValue
- The property value
public java.lang.Object leProperty(java.lang.String propertyName, java.lang.String otherPropertyName)
propertyName
- The first property nameotherPropertyName
- The second property name
public java.lang.Object like(java.lang.String propertyName, java.lang.Object propertyValue)
propertyName
- The property namepropertyValue
- The like value
public void lock(boolean shouldLock)
shouldLock
- True if it should
public java.lang.Object lt(java.lang.String propertyName, java.lang.Object propertyValue)
propertyName
- The property namepropertyValue
- The property value
public java.lang.Object ltProperty(java.lang.String propertyName, java.lang.String otherPropertyName)
propertyName
- The first property nameotherPropertyName
- The second property name
public void max(java.lang.String propertyName)
propertyName
- The name of the property
public void max(java.lang.String propertyName, java.lang.String alias)
propertyName
- The name of the propertyalias
- The alias to use
public void min(java.lang.String propertyName)
propertyName
- The name of the property
public void min(java.lang.String propertyName, java.lang.String alias)
alias
- The alias to use
public java.lang.Object ne(java.lang.String propertyName, java.lang.Object propertyValue)
propertyName
- The property namepropertyValue
- The property value
public java.lang.Object neProperty(java.lang.String propertyName, java.lang.String otherPropertyName)
propertyName
- The first property nameotherPropertyName
- The second property name
public java.lang.Object notEqual(java.lang.String propertyName, java.lang.Object propertyValue)
public java.lang.Object order(java.lang.String propertyName)
propertyName
- The property name to order by
public java.lang.Object order(java.lang.String propertyName, java.lang.String direction)
propertyName
- The property name to order bydirection
- Either "asc" for ascending or "desc" for descending
public void property(java.lang.String propertyName)
propertyName
- The name of the property
public void property(java.lang.String propertyName, java.lang.String alias)
propertyName
- The name of the propertyalias
- The alias to use
public void resultTransformer(ResultTransformer transformer)
resultTransformer
- The result transformer to use.
public java.lang.Object rlike(java.lang.String propertyName, java.lang.Object propertyValue)
propertyName
- The property namepropertyValue
- The ilike value
public void rowCount()
public void rowCount(java.lang.String alias)
alias
- The alias to use
public void select(java.lang.String associationPath)
associationPath
- The path of the association
public void setUniqueResult(boolean uniqueResult)
uniqueResult
- True if a unique result should be returned
public java.lang.Object sizeEq(java.lang.String propertyName, int size)
propertyName
- The property namesize
- The size to constrain by
public java.lang.Object sizeGe(java.lang.String propertyName, int size)
propertyName
- The property namesize
- The size to constrain by
public java.lang.Object sizeGt(java.lang.String propertyName, int size)
propertyName
- The property namesize
- The size to constrain by
public java.lang.Object sizeLe(java.lang.String propertyName, int size)
propertyName
- The property namesize
- The size to constrain by
public java.lang.Object sizeLt(java.lang.String propertyName, int size)
propertyName
- The property namesize
- The size to constrain by
public java.lang.Object sizeNe(java.lang.String propertyName, int size)
propertyName
- The property namesize
- The size to constrain by
public java.lang.Object sqlRestriction(java.lang.String sqlRestriction)
def results = Person.withCriteria { sqlRestriction "char_length(first_name) <= 4" }
sqlRestriction
- the sql restriction
public void sum(java.lang.String propertyName)
propertyName
- The name of the property
public void sum(java.lang.String propertyName, java.lang.String alias)
propertyName
- The name of the propertyalias
- The alias to use
Groovy Documentation