Grails "One to Many"没有表连接的关系

标签 grails grails-orm grails-domain-class

我是 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

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

最佳答案

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

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

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

关于Grails "One to Many"没有表连接的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10637523/

相关文章:

grails - 在GRAILS 2.3.x中的命名查询中使用投影时,如何进行更复杂的计算?

tomcat - Grails 2.3.4 池为空。无法在 30 秒内获取连接

hibernate - 使用 Grails 和 GORM 在 PostgreSQL 中存储日期、时间和时区

grails - 如何防止子属性被更新?

grails - 基于子域的项目和链接

grails - 如何使用 jar 中带有 @grails.persistence.Entity 注释的类

grails - 如何在 Grails 中复制域对象?

java - 如何在Tomcat中配置环境变量?

java - 使用 GGTS 创建 Grails 项目时出错

unit-testing - Grails:从模拟服务返回模拟对象