public class HibernateAssociationQuery extends org.grails.datastore.mapping.query.AssociationQuery
A thin wrapper over HibernateQuery that collects criteria for a single association scope.
When HibernateQuery.createQuery is called (e.g. via Person.withCriteria
{ pets { eq 'name', 'Lucky' }}), the AbstractCriteriaBuilder sets the current query to
this instance and routes all criteria added inside the closure through add(Query.Criterion). Those criteria are held by an inner HibernateQuery scoped to the
associated entity.
At query-execution time, PredicateGenerator dispatches on this type and performs a
LEFT JOIN on associationPath, then applies the collected predicates.
| Constructor and description |
|---|
HibernateAssociationQuery(HibernateSession session, GrailsHibernatePersistentEntity associatedEntity, org.grails.datastore.mapping.model.types.Association association, java.lang.String associationPath, java.lang.String alias) |
| Type Params | Return Type | Name and description |
|---|---|---|
|
public void |
add(org.grails.datastore.mapping.query.Query$Criterion criterion) |
|
public void |
add(org.grails.datastore.mapping.query.Query$Junction currentJunction, org.grails.datastore.mapping.query.Query$Criterion criterion) |
|
public org.grails.datastore.mapping.query.Query$Junction |
disjunction() |
|
public java.util.List<Query.Criterion> |
getAssociationCriteria()Returns the criteria collected inside the association closure. |
|
public GrailsHibernatePersistentEntity |
getEntity() |
|
public org.grails.datastore.mapping.query.Query$Junction |
negation() |
| Methods inherited from class | Name |
|---|---|
class org.grails.datastore.mapping.query.AssociationQuery |
org.grails.datastore.mapping.query.AssociationQuery#add(org.grails.datastore.mapping.query.Query$Criterion), org.grails.datastore.mapping.query.AssociationQuery#add(org.grails.datastore.mapping.query.Query$Junction, org.grails.datastore.mapping.query.Query$Criterion), org.grails.datastore.mapping.query.AssociationQuery#allEq(java.util.Map), org.grails.datastore.mapping.query.AssociationQuery#and(org.grails.datastore.mapping.query.Query$Criterion, org.grails.datastore.mapping.query.Query$Criterion), org.grails.datastore.mapping.query.AssociationQuery#between(java.lang.String, java.lang.Object, java.lang.Object), org.grails.datastore.mapping.query.AssociationQuery#cache(boolean), org.grails.datastore.mapping.query.AssociationQuery#clearOrders(), org.grails.datastore.mapping.query.AssociationQuery#clone(), org.grails.datastore.mapping.query.AssociationQuery#conjunction(), org.grails.datastore.mapping.query.AssociationQuery#countResults(), org.grails.datastore.mapping.query.AssociationQuery#createQuery(java.lang.String), org.grails.datastore.mapping.query.AssociationQuery#disjunction(), org.grails.datastore.mapping.query.AssociationQuery#eq(java.lang.String, java.lang.Object), org.grails.datastore.mapping.query.AssociationQuery#equals(java.lang.Object), org.grails.datastore.mapping.query.AssociationQuery#firstResult(int), org.grails.datastore.mapping.query.AssociationQuery#ge(java.lang.String, java.lang.Object), org.grails.datastore.mapping.query.AssociationQuery#getAssociation(), org.grails.datastore.mapping.query.AssociationQuery#getClass(), org.grails.datastore.mapping.query.AssociationQuery#getCriteria(), org.grails.datastore.mapping.query.AssociationQuery#getEntity(), org.grails.datastore.mapping.query.AssociationQuery#getMax(), org.grails.datastore.mapping.query.AssociationQuery#getOffset(), org.grails.datastore.mapping.query.AssociationQuery#getOrderBy(), org.grails.datastore.mapping.query.AssociationQuery#getSession(), org.grails.datastore.mapping.query.AssociationQuery#gt(java.lang.String, java.lang.Object), org.grails.datastore.mapping.query.AssociationQuery#gte(java.lang.String, java.lang.Object), org.grails.datastore.mapping.query.AssociationQuery#hashCode(), org.grails.datastore.mapping.query.AssociationQuery#idEq(java.lang.Object), org.grails.datastore.mapping.query.AssociationQuery#ilike(java.lang.String, java.lang.String), org.grails.datastore.mapping.query.AssociationQuery#in(java.lang.String, java.util.List), org.grails.datastore.mapping.query.AssociationQuery#isEmpty(java.lang.String), org.grails.datastore.mapping.query.AssociationQuery#isNotEmpty(java.lang.String), org.grails.datastore.mapping.query.AssociationQuery#isNotNull(java.lang.String), org.grails.datastore.mapping.query.AssociationQuery#isNull(java.lang.String), org.grails.datastore.mapping.query.AssociationQuery#join(java.lang.String), org.grails.datastore.mapping.query.AssociationQuery#join(java.lang.String, jakarta.persistence.criteria.JoinType), org.grails.datastore.mapping.query.AssociationQuery#le(java.lang.String, java.lang.Object), org.grails.datastore.mapping.query.AssociationQuery#like(java.lang.String, java.lang.String), org.grails.datastore.mapping.query.AssociationQuery#list(), org.grails.datastore.mapping.query.AssociationQuery#lock(boolean), org.grails.datastore.mapping.query.AssociationQuery#lock(jakarta.persistence.LockModeType), org.grails.datastore.mapping.query.AssociationQuery#lt(java.lang.String, java.lang.Object), org.grails.datastore.mapping.query.AssociationQuery#lte(java.lang.String, java.lang.Object), org.grails.datastore.mapping.query.AssociationQuery#max(int), org.grails.datastore.mapping.query.AssociationQuery#maxResults(int), org.grails.datastore.mapping.query.AssociationQuery#negation(), org.grails.datastore.mapping.query.AssociationQuery#notify(), org.grails.datastore.mapping.query.AssociationQuery#notifyAll(), org.grails.datastore.mapping.query.AssociationQuery#offset(int), org.grails.datastore.mapping.query.AssociationQuery#or(org.grails.datastore.mapping.query.Query$Criterion, org.grails.datastore.mapping.query.Query$Criterion), org.grails.datastore.mapping.query.AssociationQuery#order(org.grails.datastore.mapping.query.Query$Order), org.grails.datastore.mapping.query.AssociationQuery#patternToRegex(java.lang.Object), org.grails.datastore.mapping.query.AssociationQuery#projections(), org.grails.datastore.mapping.query.AssociationQuery#rlike(java.lang.String, java.lang.String), org.grails.datastore.mapping.query.AssociationQuery#select(java.lang.String), org.grails.datastore.mapping.query.AssociationQuery#setUniqueResult(boolean), org.grails.datastore.mapping.query.AssociationQuery#singleResult(), org.grails.datastore.mapping.query.AssociationQuery#toString(), org.grails.datastore.mapping.query.AssociationQuery#wait(), org.grails.datastore.mapping.query.AssociationQuery#wait(long), org.grails.datastore.mapping.query.AssociationQuery#wait(long, int) |
Returns the criteria collected inside the association closure.