【问题标题】:Grails introduce an extra column in predefined tableGrails 在预定义的表中引入了一个额外的列
【发布时间】:2012-09-30 08:34:26
【问题描述】:

我刚开始 Grails 编程,我试图访问预定义并被其他应用程序访问的表,表只包含 3 列 id、filename、msgcount。我通过 grails 成功连接并访问了表。直到这一切都很好,但是当我运行主应用程序时(以前是访问表)我遇到了一个错误,这是关于表属性不匹配的,所以我检查了表设计,发现有一个额外的列命名为“版本”。我对那个额外的列有点惊讶,但经过一些诊断后,我意识到该列是由 grails 应用程序添加的。

这种增加额外的列是否正常。是否有任何解决方案使 grails 应用程序不会更改表的属性(即添加额外的列),这可能会限制我们将同一个表用于多个应用程序。

【问题讨论】:

    标签: grails version grails-orm datagridviewcolumn


    【解决方案1】:

    是的,这是 grails GORM 的默认行为。看这个解释:http://grails.org/doc/latest/guide/GORM.html#optimisticLockingAndVersioning

    你可以通过两种方式解决它:

    a) 在您的数据库表中创建一个版本字段

    b) 您可以从您的域类中禁用版本字段,如下所示:

    class YourDomainClass {
    
       static mapping = {
           version false
       }
    
       ...
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-09
      • 2019-09-19
      • 1970-01-01
      • 2016-05-18
      • 1970-01-01
      • 2020-02-25
      • 1970-01-01
      • 2021-10-28
      相关资源
      最近更新 更多