(Quick Reference)
mappedBy
Purpose
The
mappedBy static property adds the ability to change how a bidirectional association is linked
Examples
class Airport { static mappedBy = [outgoingFlights: 'departureAirport',
incomingFlights: 'destinationAirport'] static hasMany = [outgoingFlights: Route,
incomingFlights: Route]
}class Route {
Airport departureAirport
Airport destinationAirport
}In this example the
Airport class defines two bidirectional one-to-many associations. Without defining
mappedBy this is impossible as GORM cannot differentiate which of the two properties on the other end of the association (either
departureAirport or
destinationAirport in the
Route class) each one-to-many should be associated with.
The solution is to define
mappedBy which tells the
Airport class how each association relates to the other side.