(Quick Reference)
lazy
Purpose
Configures whether to use proxies and lazy loading for one-to-one and many-to-one associations.
Examples
class Book { static belongsTo = [author: Author] static mapping = {
author lazy: false
}
}
Description
Usage:
association_name(lazy: boolean)
By default GORM single-ended associations are lazy in that when you load a domain instance, an associated domain is not loaded until accessed. Hibernate creates a dynamic proxy by subclassing the domain class and proxying all methods and property access.
This can have some strange side effects (see
this page on proxies at the Hibernate site) particularly in relation to inheritance. You can tell Hibernate not use proxies for single-ended associations by using the
lazy
argument:
static mapping = {
author lazy: false
}
See the section on
Eager vs Lazing Fetching in the user guide.