Grails GORM composition or hasOne?

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.

Upvotes: 14

Views: 5765

Answers (1)

Jean Barmash
Jean Barmash

Reputation: 4788

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:

Upvotes: 10

Related Questions