Grails在预定义表中引入了一个额外的列

时间:2012-09-30 08:34:26

标签: grails version gorm datagridviewcolumn

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

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

1 个答案:

答案 0 :(得分:2)

是的,这是grails GORM的默认行为。请参阅此说明:http://grails.org/doc/latest/guide/GORM.html#optimisticLockingAndVersioning

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

a)在db表中创建一个版本字段

OR

b)您可以按如下方式禁用域类中的版本字段:

class YourDomainClass {

   static mapping = {
       version false
   }

   ...

}