mysql - Grails 不会生成多对多中的所有 SQL 表

标签 mysql grails

我是 Grails 新手,已经开始了一个项目,但我很难找出问题所在:

该项目已经连接到我的数据库(SQL),并且它与多个“参数”有一些多对多关系,如下所示:

static hasMany = [rules:AvaliateRules,professors:Professor,candidates:Candidate];

我运行该应用程序没有任何问题,但是当我使用显示表时,事务表并未全部创建。它刚刚创建了最后一个参数的表(候选)。

知道原因以及如何解决吗?我检查的每个地方,人们都和我做同样的事情, table 没有任何问题。我使用的是 grails 2.4.4 版本。

最佳答案

我认为您当前的域与您提到的所有实体没有多对多关系。这可能是一对多的关系。假设您当前的域是“DomainA”。如果只有像 AvaliateRules,Professor 这样的其他域在 hasMany 中有“DomainA”,那么它就成为多对多关联。

在一对多关联中,仅在子级(多侧)添加一列,其中包含一个parentId来指示父级是谁。

关于mysql - Grails 不会生成多对多中的所有 SQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30793232/

相关文章:

MysqlDump 出现 ShellExecute 错误

javascript - 如何将下拉菜单更改为表格格式?

grails - SHA1编码数据并在grails View 中访问哈希结果

hibernate - 自引用列表自定义可更新顺序

mysql - 通过 VB.NET 连接到 MySQL

php - ON DUPLICATE KEY 查询 - 提取表的主键

mysql - 不支持身份验证方法 'mysql_old_password'

grails - Grails 2.5.3 Controller 参数在测试上是只读的,但在运行应用程序上则不是

java - Tomcat JNDI PSQLException : This connection has been closed

hibernate - 为 GORM 映射的关联类生成的保存 SQL 在 SELECT 子句中具有正确的列名,但在 WHERE 子句中的列名不正确