我刚开始进行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
}
...
}




