在我们的 Grails 2.2.3 应用程序中,我们通过向 BootStrap.groovy init 中的元类添加事件处理方法来向所有域类添加事件处理方法,如下所示:
for(gc in grailsApplication.domainClasses) {
gc.metaClass.beforeInsert = {
//our code
}
gc.metaClass.beforeUpdate = {
//our code
}
}
(受这篇文章的启发:https://stackoverflow.com/a/9289678/1877147)
这在 2.2.3 中工作正常,但在升级到 2.3.5 后不再工作。这些方法被添加到元类中但从未被调用。从文档中看,这些事件方法似乎没有被删除或更改或任何其他内容。有没有其他方法可以在 2.3.5 中运行?
最佳答案
在 BuildConfig 中,我们改用 maven 作为依赖解析器而不是 Ivy,现在这个问题不再出现。
关于升级到 2.3.5 后不再调用 BootStrap 中添加的 Grails 事件方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21836442/