(Quick Reference)

where

Purpose

Defines a new grails.gorm.DetachedCriteria instance.

Examples

Basic query:

def query = Person.where {
   firstName == "Bart"
}
Person bart = query.find()

Conjunctions/Disjunctions:

def query = Person.where {
    (lastName != "Simpson" && firstName != "Fred") || (firstName == "Bart" && age > 9)
}
def results = query.list(sort:"firstName")

Property comparison:

def query = Person.where {
   firstName == lastName
}

Querying Associations:

def query = Pet.where {
    owner.firstName == "Joe" || owner.firstName == "Fred"
}

Subqueries:

final query = Person.where {
  age > avg(age)
}

Description

The where method is a powerful new type-safe querying option introduced in Grails 2.0. For more information on using the where method see the dedicated section on Where Queries and Detached Criteria in the user guide.