2012-07-10 120 views
0

修订如何定义Grails的关联关系

我有一个域类如下

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的

回答

1

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

+0

加油吧。这是一个简短的回答很好的问题。当你忘记关系定义并且只想简短的片段时,它会很方便。 – MeIr 2012-11-15 11:25:04

+0

@MeIr - 这是whaere文档的基本定义派上用场。 – 2012-11-15 11:36:41

+0

我同意你的意见。但是当我GOOGLE了它,stackoverflow第一次;) – MeIr 2012-11-15 21:59:54

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的很好的文档。

+0

看到,我已更新帖子 – n92 2012-07-10 07:57:39