0

更新しました

以下のようなドメインクラスがあります

class Training{
  // has one createdBy object references User domain and 
  // has one course object references Course domain
  // has One Trainer1 and Trainer2 objects refernces Trainer Object.
}

class Trainer{
   String name
  //can have many trainings.
  //If Trainer gets deleted, the trainings of him must be deleted
}
Class User{
  String name
  // can have many trainings. 
}

class Course{
  String name
   //If Course gets deleted, Trainings of this course must be deleted
   // can have many trainings.
}

既に保存されている Course、User、Trainer1、および Trainer2 を入力する必要があるトレーニング作成ページがあります。トレーニングの作成中にそれらを保存していません。

では、grails でリレーションシップを指定する方法

4

2 に答える 2

1

初期設計にいくつかの小さな欠陥があります。つまり、トレーニングが明らかに多くのユーザーと結びついているのに、ユーザーが削除された場合にトレーニングを削除する必要があるのはなぜですか。トレーナーなしでトレーニングを行うことはできますか、またはその逆は可能ですか?

私は次のようなことから始めます:

Class Training {
    static hasMany = [users: User, trainers: Trainer]
    static belongsTo = Course
}

Class Trainer {
    String name
}

Class User {
   String name
}

Class Course {
    String name
    static hasMany = [trainings: Training]   
}

編集:Tomaszに同意する必要があります。あなたは自分で答えを探すことなくここに飛び込みすぎました。Grails.org には、例を含む GORM に関する優れたドキュメントもあります。

于 2012-07-10T07:41:55.910 に答える
1

あなたは自分自身の答えを探す努力をしませんでした。Grails でリレーションをマップする方法の基本的な例とブログ記事がたくさんあります。GORM の Grails ドキュメント (Grails のオブジェクト リレーショナル マッピング) から始める必要があります。ここで見つけることができます。

于 2012-07-10T07:31:51.227 に答える