public class HibernateCriteriaBuilder
extends org.codehaus.groovy.grails.orm.hibernate.query.AbstractHibernateCriteriaBuilder
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")
}
| Modifier and Type | Field and Description |
|---|---|
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 |
CHAR_ARRAY |
static org.hibernate.type.Type |
CHARACTER |
static org.hibernate.type.Type |
CHARACTER_ARRAY |
static org.hibernate.type.Type |
CHARACTERS_CLOB |
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 org.hibernate.type.Type |
FLOAT |
static org.hibernate.type.Type |
IMAGE |
static org.hibernate.type.Type |
INTEGER |
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 org.hibernate.type.Type |
NUMERIC_BOOLEAN |
static org.hibernate.type.Type |
SERIALIZABLE |
static org.hibernate.type.Type |
SHORT |
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 |
ALIAS, aliasCount, aliasInstanceStack, aliasMap, aliasStack, AND, associationStack, BETWEEN, conversionService, count, COUNT_CALL, criteria, criteriaMetaClass, defaultFlushMode, EQUALS, EQUALS_PROPERTY, GET_CALL, grailsApplication, GREATER_THAN, GREATER_THAN_OR_EQUAL, GREATER_THAN_OR_EQUAL_PROPERTY, GREATER_THAN_PROPERTY, hibernateSession, ID_EQUALS, ILIKE, IN, IS_EMPTY, IS_NOT_EMPTY, IS_NOT_NULL, IS_NULL, LESS_THAN, LESS_THAN_OR_EQUAL, LESS_THAN_OR_EQUAL_PROPERTY, LESS_THAN_PROPERTY, LIKE, LIST_CALL, LIST_DISTINCT_CALL, logicalExpressionStack, NOT, NOT_EQUAL, NOT_EQUAL_PROPERTY, OR, ORDER_ASCENDING, ORDER_DESCENDING, orderEntries, paginationEnabledList, participate, projectionList, PROJECTIONS, resultTransformer, RLIKE, ROOT_CALL, ROOT_DO_CALL, scroll, SCROLL_CALL, sessionFactory, SET_RESULT_TRANSFORMER_CALL, SIZE_EQUALS, targetClass, uniqueResult| Constructor and Description |
|---|
HibernateCriteriaBuilder(java.lang.Class targetClass,
org.hibernate.SessionFactory sessionFactory) |
HibernateCriteriaBuilder(java.lang.Class targetClass,
org.hibernate.SessionFactory sessionFactory,
boolean uniqueResult) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
cacheCriteriaMapping() |
protected org.hibernate.criterion.DetachedCriteria |
convertToHibernateCriteria(org.grails.datastore.mapping.query.api.QueryableCriteria<?> queryableCriteria) |
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.
|
protected void |
createCriteriaInstance() |
protected java.util.List |
createPagedResultList(java.util.Map args) |
protected java.lang.Object |
executeUniqueResultWithProxyUnwrap() |
protected java.lang.Class |
getClassForAssociationType(org.hibernate.type.AssociationType type) |
static org.hibernate.criterion.DetachedCriteria |
getHibernateDetachedCriteria(org.codehaus.groovy.grails.orm.hibernate.query.AbstractHibernateQuery hibernateQuery,
org.grails.datastore.mapping.query.api.QueryableCriteria<?> queryableCriteria) |
static org.hibernate.criterion.DetachedCriteria |
getHibernateDetachedCriteria(org.grails.datastore.mapping.query.api.QueryableCriteria<?> queryableCriteria) |
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
|
addProjectionToList, addToCriteria, allEq, and, avg, avg, between, buildCriteria, cache, calculatePropertyName, calculatePropertyValue, convertArgumentList, count, count, count, countDistinct, countDistinct, createAlias, distinct, distinct, distinct, distinct, distinct, eq, eq, eq, eqAll, eqAll, eqProperty, executeLogicalExpression, exists, fetchMode, ge, geAll, geAll, geProperty, geSome, geSome, get, getDefaultFlushMode, getInstance, getTargetClass, groupProperty, groupProperty, gt, gtAll, gtAll, gte, gtProperty, gtSome, gtSome, id, idEq, idEquals, ilike, in, in, in, in, inList, inList, inList, inList, invokeMethod, isEmpty, isNotEmpty, isNotNull, isNull, join, le, leAll, leAll, leProperty, leSome, leSome, like, list, list, listDistinct, lock, lt, ltAll, ltAll, lte, ltProperty, ltSome, ltSome, max, max, min, min, ne, neProperty, not, notEqual, notExists, notIn, notIn, or, order, order, order, property, property, readOnly, resultTransformer, rowCount, rowCount, scroll, select, setConversionService, setDefaultFlushMode, setGrailsApplication, setUniqueResult, sizeEq, sizeGe, sizeGt, sizeLe, sizeLt, sizeNe, sqlGroupProjection, sqlProjection, sqlProjection, sqlRestriction, sqlRestriction, sum, sum, throwRuntimeException, validateSimpleExpressionpublic static final org.hibernate.type.Type BOOLEAN
public static final org.hibernate.type.Type YES_NO
public static final org.hibernate.type.Type BYTE
public static final org.hibernate.type.Type CHARACTER
public static final org.hibernate.type.Type SHORT
public static final org.hibernate.type.Type INTEGER
public static final org.hibernate.type.Type LONG
public static final org.hibernate.type.Type FLOAT
public static final org.hibernate.type.Type DOUBLE
public static final org.hibernate.type.Type BIG_DECIMAL
public static final org.hibernate.type.Type BIG_INTEGER
public static final org.hibernate.type.Type STRING
public static final org.hibernate.type.Type NUMERIC_BOOLEAN
public static final org.hibernate.type.Type TRUE_FALSE
public static final org.hibernate.type.Type URL
public static final org.hibernate.type.Type TIME
public static final org.hibernate.type.Type DATE
public static final org.hibernate.type.Type TIMESTAMP
public static final org.hibernate.type.Type CALENDAR
public static final org.hibernate.type.Type CALENDAR_DATE
public static final org.hibernate.type.Type CLASS
public static final org.hibernate.type.Type LOCALE
public static final org.hibernate.type.Type CURRENCY
public static final org.hibernate.type.Type TIMEZONE
public static final org.hibernate.type.Type UUID_BINARY
public static final org.hibernate.type.Type UUID_CHAR
public static final org.hibernate.type.Type BINARY
public static final org.hibernate.type.Type WRAPPER_BINARY
public static final org.hibernate.type.Type IMAGE
public static final org.hibernate.type.Type BLOB
public static final org.hibernate.type.Type MATERIALIZED_BLOB
public static final org.hibernate.type.Type WRAPPER_MATERIALIZED_BLOB
public static final org.hibernate.type.Type CHAR_ARRAY
public static final org.hibernate.type.Type CHARACTER_ARRAY
public static final org.hibernate.type.Type TEXT
public static final org.hibernate.type.Type CLOB
public static final org.hibernate.type.Type MATERIALIZED_CLOB
public static final org.hibernate.type.Type WRAPPER_CHARACTERS_CLOB
public static final org.hibernate.type.Type CHARACTERS_CLOB
public static final org.hibernate.type.Type SERIALIZABLE
public HibernateCriteriaBuilder(java.lang.Class targetClass,
org.hibernate.SessionFactory sessionFactory)
public HibernateCriteriaBuilder(java.lang.Class targetClass,
org.hibernate.SessionFactory sessionFactory,
boolean uniqueResult)
protected org.hibernate.criterion.DetachedCriteria convertToHibernateCriteria(org.grails.datastore.mapping.query.api.QueryableCriteria<?> queryableCriteria)
convertToHibernateCriteria in class org.codehaus.groovy.grails.orm.hibernate.query.AbstractHibernateCriteriaBuilderprotected void cacheCriteriaMapping()
cacheCriteriaMapping in class org.codehaus.groovy.grails.orm.hibernate.query.AbstractHibernateCriteriaBuilderprotected java.lang.Object executeUniqueResultWithProxyUnwrap()
executeUniqueResultWithProxyUnwrap in class org.codehaus.groovy.grails.orm.hibernate.query.AbstractHibernateCriteriaBuilderpublic static org.hibernate.criterion.DetachedCriteria getHibernateDetachedCriteria(org.grails.datastore.mapping.query.api.QueryableCriteria<?> queryableCriteria)
public static org.hibernate.criterion.DetachedCriteria getHibernateDetachedCriteria(org.codehaus.groovy.grails.orm.hibernate.query.AbstractHibernateQuery hibernateQuery,
org.grails.datastore.mapping.query.api.QueryableCriteria<?> queryableCriteria)
public org.hibernate.Criteria createAlias(java.lang.String associationPath,
java.lang.String alias,
int joinType)
createAlias in class org.codehaus.groovy.grails.orm.hibernate.query.AbstractHibernateCriteriaBuilderassociationPath - A dot-seperated property pathalias - The alias to assign to the joined association (for later reference).joinType - The type of join to use.org.hibernate.HibernateException - Indicates a problem creating the sub criteriaAbstractHibernateCriteriaBuilder.createAlias(String, String)public org.grails.datastore.mapping.query.api.Criteria rlike(java.lang.String propertyName,
java.lang.Object propertyValue)
rlike in interface org.grails.datastore.mapping.query.api.Criteriarlike in class org.codehaus.groovy.grails.orm.hibernate.query.AbstractHibernateCriteriaBuilderpropertyName - The property namepropertyValue - The ilike valueprotected java.util.List createPagedResultList(java.util.Map args)
createPagedResultList in class org.codehaus.groovy.grails.orm.hibernate.query.AbstractHibernateCriteriaBuilderprotected java.lang.Class getClassForAssociationType(org.hibernate.type.AssociationType type)
getClassForAssociationType in class org.codehaus.groovy.grails.orm.hibernate.query.AbstractHibernateCriteriaBuilderprotected void createCriteriaInstance()
createCriteriaInstance in class org.codehaus.groovy.grails.orm.hibernate.query.AbstractHibernateCriteriaBuilder