UPDATE:
Post Grails 2.x, Criteria by default uses inner
join, but for this particular case outer
join has to be used as passenger association will not allow to follow or
condition if it is an inner
join and passenger is not set to car.
import org.hibernate.Criteria
def queryResults = Car.createCriteria().list() {
createAlias('passenger', 'passenger', Criteria.LEFT_JOIN)
or {
eq('isMoving', true)
eq('passenger.isDriving', true)
}
}