Package grails.orm
Class HibernateCriteriaBuilder
java.lang.Object
groovy.lang.GroovyObjectSupport
org.grails.orm.hibernate.query.AbstractHibernateCriteriaBuilder
grails.orm.HibernateCriteriaBuilder
- All Implemented Interfaces:
groovy.lang.GroovyObject,org.grails.datastore.mapping.query.api.BuildableCriteria,org.grails.datastore.mapping.query.api.Criteria,org.grails.datastore.mapping.query.api.ProjectionList
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")
}
-
Nested Class Summary
Nested classes/interfaces inherited from class org.grails.orm.hibernate.query.AbstractHibernateCriteriaBuilder
AbstractHibernateCriteriaBuilder.LogicalExpression -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.Typestatic final org.hibernate.type.TypeFields inherited from class org.grails.orm.hibernate.query.AbstractHibernateCriteriaBuilder
ALIAS, aliasCount, aliasInstanceStack, aliasMap, aliasStack, AND, associationStack, BETWEEN, conversionService, count, COUNT_CALL, criteria, criteriaMetaClass, datastore, defaultFlushMode, EQUALS, EQUALS_PROPERTY, GET_CALL, 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 Summary
ConstructorsConstructorDescriptionHibernateCriteriaBuilder(Class targetClass, org.hibernate.SessionFactory sessionFactory) HibernateCriteriaBuilder(Class targetClass, org.hibernate.SessionFactory sessionFactory, boolean uniqueResult) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidprotected voidCloses the session if it is copenprotected org.hibernate.criterion.DetachedCriteriaconvertToHibernateCriteria(org.grails.datastore.mapping.query.api.QueryableCriteria<?> queryableCriteria) org.hibernate.CriteriacreateAlias(String associationPath, String alias, int joinType) Join an association using the specified join-type, assigning an alias to the joined association.protected voidprotected ListcreatePagedResultList(Map args) protected Objectprotected ClassgetClassForAssociationType(jakarta.persistence.metamodel.Attribute<?, ?> type) static org.hibernate.criterion.DetachedCriteriagetHibernateDetachedCriteria(AbstractHibernateQuery query, org.grails.datastore.mapping.query.api.QueryableCriteria<?> queryableCriteria) static org.hibernate.criterion.DetachedCriteriagetHibernateDetachedCriteria(AbstractHibernateQuery query, org.grails.datastore.mapping.query.api.QueryableCriteria<?> queryableCriteria, String alias) org.grails.datastore.mapping.query.api.CriteriaCreates a Criterion with from the specified property name and "rlike" (a regular expression version of "like") expressionMethods inherited from class org.grails.orm.hibernate.query.AbstractHibernateCriteriaBuilder
addProjectionToList, addToCriteria, allEq, and, avg, avg, between, buildCriteria, cache, calculatePropertyName, calculatePropertyValue, convertArgumentList, convertOrder, 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, 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, order, property, property, readOnly, resultTransformer, rowCount, rowCount, scroll, select, setConversionService, setDatastore, setDefaultFlushMode, setUniqueResult, sizeEq, sizeGe, sizeGt, sizeLe, sizeLt, sizeNe, sqlGroupProjection, sqlProjection, sqlProjection, sqlRestriction, sqlRestriction, sum, sum, throwRuntimeException, validateSimpleExpressionMethods inherited from class groovy.lang.GroovyObjectSupport
getMetaClass, setMetaClassMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface groovy.lang.GroovyObject
getProperty, setProperty
-
Field Details
-
BOOLEAN
public static final org.hibernate.type.Type BOOLEAN -
YES_NO
public static final org.hibernate.type.Type YES_NO -
BYTE
public static final org.hibernate.type.Type BYTE -
CHARACTER
public static final org.hibernate.type.Type CHARACTER -
SHORT
public static final org.hibernate.type.Type SHORT -
INTEGER
public static final org.hibernate.type.Type INTEGER -
LONG
public static final org.hibernate.type.Type LONG -
FLOAT
public static final org.hibernate.type.Type FLOAT -
DOUBLE
public static final org.hibernate.type.Type DOUBLE -
BIG_DECIMAL
public static final org.hibernate.type.Type BIG_DECIMAL -
BIG_INTEGER
public static final org.hibernate.type.Type BIG_INTEGER -
STRING
public static final org.hibernate.type.Type STRING -
NUMERIC_BOOLEAN
public static final org.hibernate.type.Type NUMERIC_BOOLEAN -
TRUE_FALSE
public static final org.hibernate.type.Type TRUE_FALSE -
URL
public static final org.hibernate.type.Type URL -
TIME
public static final org.hibernate.type.Type TIME -
DATE
public static final org.hibernate.type.Type DATE -
TIMESTAMP
public static final org.hibernate.type.Type TIMESTAMP -
CALENDAR
public static final org.hibernate.type.Type CALENDAR -
CALENDAR_DATE
public static final org.hibernate.type.Type CALENDAR_DATE -
CLASS
public static final org.hibernate.type.Type CLASS -
LOCALE
public static final org.hibernate.type.Type LOCALE -
CURRENCY
public static final org.hibernate.type.Type CURRENCY -
TIMEZONE
public static final org.hibernate.type.Type TIMEZONE -
UUID_BINARY
public static final org.hibernate.type.Type UUID_BINARY -
UUID_CHAR
public static final org.hibernate.type.Type UUID_CHAR -
BINARY
public static final org.hibernate.type.Type BINARY -
WRAPPER_BINARY
public static final org.hibernate.type.Type WRAPPER_BINARY -
IMAGE
public static final org.hibernate.type.Type IMAGE -
BLOB
public static final org.hibernate.type.Type BLOB -
MATERIALIZED_BLOB
public static final org.hibernate.type.Type MATERIALIZED_BLOB -
CHAR_ARRAY
public static final org.hibernate.type.Type CHAR_ARRAY -
CHARACTER_ARRAY
public static final org.hibernate.type.Type CHARACTER_ARRAY -
TEXT
public static final org.hibernate.type.Type TEXT -
CLOB
public static final org.hibernate.type.Type CLOB -
MATERIALIZED_CLOB
public static final org.hibernate.type.Type MATERIALIZED_CLOB -
SERIALIZABLE
public static final org.hibernate.type.Type SERIALIZABLE
-
-
Constructor Details
-
HibernateCriteriaBuilder
-
HibernateCriteriaBuilder
public HibernateCriteriaBuilder(Class targetClass, org.hibernate.SessionFactory sessionFactory, boolean uniqueResult)
-
-
Method Details
-
createAlias
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.- Specified by:
createAliasin classAbstractHibernateCriteriaBuilder- Parameters:
associationPath- A dot-seperated property pathalias- The alias to assign to the joined association (for later reference).joinType- The type of join to use.- Returns:
- this (for method chaining)
- Throws:
org.hibernate.HibernateException- Indicates a problem creating the sub criteria- See Also:
-
executeUniqueResultWithProxyUnwrap
- Specified by:
executeUniqueResultWithProxyUnwrapin classAbstractHibernateCriteriaBuilder
-
cacheCriteriaMapping
protected void cacheCriteriaMapping()- Specified by:
cacheCriteriaMappingin classAbstractHibernateCriteriaBuilder
-
getClassForAssociationType
- Specified by:
getClassForAssociationTypein classAbstractHibernateCriteriaBuilder
-
createPagedResultList
- Specified by:
createPagedResultListin classAbstractHibernateCriteriaBuilder
-
rlike
public org.grails.datastore.mapping.query.api.Criteria rlike(String propertyName, Object propertyValue) Creates a Criterion with from the specified property name and "rlike" (a regular expression version of "like") expression- Specified by:
rlikein interfaceorg.grails.datastore.mapping.query.api.Criteria- Specified by:
rlikein classAbstractHibernateCriteriaBuilder- Parameters:
propertyName- The property namepropertyValue- The ilike value- Returns:
- A Criterion instance
-
createCriteriaInstance
protected void createCriteriaInstance()- Specified by:
createCriteriaInstancein classAbstractHibernateCriteriaBuilder
-
convertToHibernateCriteria
protected org.hibernate.criterion.DetachedCriteria convertToHibernateCriteria(org.grails.datastore.mapping.query.api.QueryableCriteria<?> queryableCriteria) - Specified by:
convertToHibernateCriteriain classAbstractHibernateCriteriaBuilder
-
getHibernateDetachedCriteria
public static org.hibernate.criterion.DetachedCriteria getHibernateDetachedCriteria(AbstractHibernateQuery query, org.grails.datastore.mapping.query.api.QueryableCriteria<?> queryableCriteria) -
getHibernateDetachedCriteria
public static org.hibernate.criterion.DetachedCriteria getHibernateDetachedCriteria(AbstractHibernateQuery query, org.grails.datastore.mapping.query.api.QueryableCriteria<?> queryableCriteria, String alias) -
closeSession
protected void closeSession()Closes the session if it is copen- Overrides:
closeSessionin classAbstractHibernateCriteriaBuilder
-