GORM映射导致单元测试失败

时间:2013-09-12 11:49:09

标签: grails gorm

由于以下代码行

,我在运行单元测试时遇到MissingMethodException
class SystemNotification {
    static mapping = {
       read column: 'rd'
    }
    .
    .
}

这是生成的堆栈跟踪的相关位。

groovy.lang.MissingMethodException: No signature of method:
frontlinesms2.SystemNotification.read() is applicable for argument types: () values: []
Possible solutions: read(java.io.Serializable), load(java.io.Serializable), isRead(), create(), getId(), grep()
at frontlinesms2.SystemNotification._clinit__closure1(SystemNotification.groovy:6)

删除read-> rd映射允许测试通过。有关解决此问题的任何想法都不需要删除代码吗?域类来自插件,如果相关的话。该插件使用h2作为独立应用程序运行,但主机应用程序使用MySQL,其中“read”是保留关键字,这就是我们开始映射的原因。

1 个答案:

答案 0 :(得分:0)

嗯所以如果你想要更改列名,那么你必须做以下操作,目前你使用read('x')作为方法:

class SystemNotification {
    String read
    static mapping = {
       read column: 'rd'
    }
}

测试失败是正确的。