如何定义grails中的关联关系

时间:2012-07-10 07:11:44

标签: grails gorm grails-2.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.
}

我有一个培训创建页面,我必须填充已保存的课程,用户,培训师1和培训师2。创建培训时我没有保存它们。

那么,如何在grails中指定关系

2 个答案:

答案 0 :(得分:1)

你没有付出任何努力来寻找你的答案。有很多基本的例子和博客文章如何在Grails中映射关系。您应该从GORM的Grails文档开始 - Grails的对象关系映射。你可以找到它here

答案 1 :(得分: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]   
}
编辑:我不得不同意托马斯的观点,你过早地跳到这里而不自己寻找答案。 Grails.org也提供了有关GORM的良好文档。