我刚开始使用Grails编程,我试图访问其他应用程序预定义和访问的表,Table只包含3列id,filename,msgcount。我成功连接并通过grails访问表。直到这一切都很顺利,但是当我运行主应用程序(之前,正在访问表)时,我遇到了一个错误,这是关于表属性不匹配的,所以我经历了表设计,发现有一个额外的列命名为'版本'。我对这个额外的专栏感到有点惊讶,但经过一些诊断后,我意识到该列是由grails应用程序添加的。
这个额外列的添加是否正常。有没有任何解决方案,所以grails应用程序不会更改表的属性(即添加额外列),这可能限制我们使用相同的表进行多个应用程序。
答案 0 :(得分:2)
是的,这是grails GORM的默认行为。请参阅此说明:http://grails.org/doc/latest/guide/GORM.html#optimisticLockingAndVersioning
您可以通过两种方式解决它:
a)在db表中创建一个版本字段
OR
b)您可以按如下方式禁用域类中的版本字段:
class YourDomainClass {
static mapping = {
version false
}
...
}