3

我是 Grails 和 GORM 的新手,我尝试实现“一对多”关系。我尝试了文档中的示例:

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

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

4

3 回答 3

18

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

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

class Author {
    static hasMany = [books: Book]
    String name 
}
于 2012-05-17T14:24:51.453 回答
0

只是反过来做。

一本书有一个作者。

class Book {
    String title
    Author author
}

class Author {
    String name 
}
于 2012-05-17T14:28:16.997 回答
0

class Book { String title static belongsTo = [作者:作者] }

类作者 { static hasMany = [books: Book] String name }

于 2020-08-06T16:19:38.717 回答