Как hasMany и hasOne работают в Grails? - PullRequest
2 голосов
/ 15 сентября 2009

У меня проблемы с определением отношений один-к-одному и один-ко-многим с классами домена. У меня есть следующие классы домена

class Team {
    static hasMany = [players: Player]
    static hasOne = [coach: Coach]
}

class Person {
    String name
}

class Player extends Person {
}

class Coach extends Person {
}

Итак, мои вопросы:

1- Нужно ли объявлять переменную team в Player и в Coach?

2- Нужно ли также объявить belongsTo

3- Учитывая вышеперечисленные классы, предпочтительнее ли использовать hasOne?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 30 октября 2010

Есть небольшая ошибка с ответом Либута.

  1. Каскад наоборот: если ваш тренер / игрок принадлежит к команде, то удаление команды будет каскадным и удалит также тренера / игрока.
1 голос
/ 15 сентября 2009
  1. Только если вы хотите легко перемещаться через player.team и coach.team
  2. Зависит от того, хотите ли вы обновления / удаления каскадно. Я думаю, что нет, поскольку удаление тренера или игрока не должно удалять команду или наоборот?
  3. hasOne имеет смысл для отношения между командой и тренером, однако его нет в Grails 1.1.1 или ниже. Это может быть в 1.2 (но не в справочном руководстве).

ура

Lee

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...