(Quick Reference)
withCriteria
Purpose
Allows inline execution of Criteria queries. See the
createCriteria method for reference.
Return value
If no matching records are found, an empty List is returned.
If a projection is specified:
- returns a single value if it only contains one field
- a List in case there are multiple fields in the projection
Otherwise, it will return a List of matched instances of the class calling withCriteria.
Examples
def results = Book.withCriteria {
def now = new Date()
between('releaseDate', now-7, now)
like('title', '%Groovy%')
}
Description
The
withCriteria
method allows the inline definition of
Criteria. Arguments to the
HibernateCriteriaBuilder can be passed as the first parameter:
def book = Book.withCriteria(uniqueResult: true) {
def now = new Date()
between('releaseDate', now-7, now)
like('title', '%Groovy%')
}
Parameters:
arguments
(optional) - A map of named arguments to be set on the Criteria instance
closure
- A closure that defines the criteria