没有表连接的Grails“一对多”关系

时间:2012-05-17 14:20:24

标签: grails gorm grails-domain-class

我是Grails和GORM的新手,我尝试实现“一对多”关系。 我在doc中尝试了这个例子:

class Book {
    String title
}
class Author {
    static hasMany = [books: Book]
    String name 
}

以下是生成的表格:

AUTHOR
- Id (PK)
- Name

BOOK
- Id (PK)
- Title

AUTHOR_BOOK
- Author_Books_Id
- Book_Id

我期待的更像是:

AUTHOR
- Id (PK)
- Name

BOOK
- Author_Id (PK)
- Book_Index (PK)
- Title

有没有办法实现这一点(摆脱连接表)?

3 个答案:

答案 0 :(得分:17)

您应该声明该书属于作者。使用belongsTo,您声明Book表中有外键,该外键保持对Author的id列的引用。像这样:

class Book {
    String title
    static belongsTo = [author: Author]
}

class Author {
    static hasMany = [books: Book]
    String name 
}

答案 1 :(得分:0)

反过来说。

一本书有一位作者。

class Book {
    String title
    Author author
}

class Author {
    String name 
}

答案 2 :(得分:0)

课堂书{ 字符串标题 静态归属于= [作者:作者] }

班级作者{ 静态hasMany = [书籍:书籍] 字串名称 }