我刚开始进行Grails编程,并且尝试访问预定义并由其他应用程序访问的表,该表仅包含3列ID,文件名和msgcount。我成功连接并通过grails访问该表。在此之前,一切正常,但是当我运行主应用程序(以前是在访问表)时,我遇到了一个错误,该错误与表属性不匹配有关,因此我在进行表设计时发现有一个额外的列命名为“版本”。我对该额外的列感到有些惊讶,但经过一番诊断,我意识到该列是由grails应用程序添加的。

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

请您参考如下方法:

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

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

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

要么

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

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


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!