hibernate - Grails dbCreate = update总是创建现有的联接表

标签 hibernate grails jointable

public class Scenario_Head {

        String scenarioName
        String scenarioDesc

        static hasMany = [ rules: Rule ]
}

public class Rules_Head{

        String rulesName

}

grails run-app期间,即使我的数据库中已经存在联接表,hibernate仍继续为两者创建联接表。我在dbCreate中的DataSource.groovyupdate

我不确定这种行为是否仅在连接表的情况下才能持续。

有人可以帮我吗?对此行为进行一些简短的解释?

预先感谢您的答复。

最佳答案

数据源dbCreate 更新,创建丢失的表和索引,并在不删除任何表或数据的情况下更新当前模式(link)。

查看您的域,您的dmain存在一些问题。

  • 将驼峰式用作域名,避免使用“”,驼峰式域名对应于用“”分隔的表名。例如:MyDomain对应于表my_domain表。
  • 如果表名不同于域名,则使用映射显式声明表名。
    例如:table schema: Holders.grailsApplication.config.agi.oms.database.schema.name, name: '<TABLE NAME>'

  • 另外,您还没有显示Rule域。

    关于hibernate - Grails dbCreate = update总是创建现有的联接表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35607810/

    相关文章:

    java - java中出现hibernate session 错误

    java - hibernate 给出两行相同的行而不是两行不同的行

    ruby - 在Grails Controller 中获取方法

    grails - 在不同的服务器上管理不同的配置

    mysql - 如何构建具有多个连接表的数据库

    java - 在 Hibernate 限制条件查询中组合 2 个或更多属性

    java - 将jpa存储库添加到spring时出错

    grails - 如何正确使用radioGroup?

    sequelize.js - 如何在 sequelize 中连接表

    grails - Grails联接表列名称