14
votes

I'm a bit confused about the differences between using the static hasOne map and composing objects in domain classes. What are the differences between the two? ie.

class DegreeProgram {

String degreeName
Date programOfStudyApproval
static hasOne = [committee:GraduateCommittee]
}

versus

class DegreeProgram {

String degreeName
Date programOfStudyApproval
GraduateCommittee committee
}

where GraduateCommittee is another GORM domain model class.

1

1 Answers

10
votes

A hasOne association should be used in the case where you want to store the foreign key reference in child table instead of the parent in a bidirectional one-to-one.

See this page for an example: