有一种方法可以临时禁用特定域类的beforeInsert事件吗?我需要执行以下步骤:GORM - 暂时禁用beforeInsert事件
- 禁用beforeInsert的执行;
- 在对象中执行一种saveAs例程;
- 重新启用beforeInsert的执行。
saveAs例程在特定对象中执行深克隆并使用相同数据创建新对象。看到这个答案,了解克隆:How can I duplicate a domain object in Grails?
原因禁用beforeInsert:由于对象被克隆内beforeInsert的代码被执行另存程序时并不需要执行。
的Grails版本:2.5.0
更新
我忘了提,我想避免改变我的域类来实现这一行为。
嗨@cantoni,didi你找到最好的解决方案? –
不幸的是,@HemãVidal。我的解决方案是避免使用beforeInsert事件。我的saveAs例程比beforeInsert中执行的代码重要得多。 – cantoni
我认为这是一个概念问题: 如果.save()方法在某些情况下有所不同,控制器必须执行此操作并从域中删除此行为。 –