"Fossies" - the Fresh Open Source Software Archive

Member "grails-core-5.2.4/grails-docs/src/test/resources/docs/ref/Domain Classes/withCriteria.html" (14 Sep 2022, 61234 Bytes) of package /linux/www/grails-core-5.2.4.tar.gz:

Caution: In this restricted "Fossies" environment the current HTML page may not be correctly presentated and may have some non-functional links. You can here alternatively try to browse the pure source code or just view or download the uninterpreted raw source code. If the rendering is insufficient you may try to find and view the page on the grails-core-5.2.4.tar.gz project site itself.

(Quick Reference)



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.


def results = Book.withCriteria {
    def now = new Date()
    between('releaseDate', now-7, now)
    like('title', '%Groovy%')


The withCriteria method allows the inline definition of Criteria. Arguments to the [http://grails.github.io/grails-data-mapping/latest/api/grails/orm/HibernateCriteriaBuilder.html] 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%')


  • arguments (optional) - A map of named arguments to be set on the Criteria instance

  • closure - A closure that defines the criteria