如何在保存和更新多个域时调用方法?

时间:2013-01-14 13:27:23

标签: grails groovy save

我想为一堆不同的域类的每个updatesave操作调用一个服务方法。我可以从beforeInsertbeforeUpdate调用该方法,但是有很多域,为每个域执行此操作会非常耗时。那有什么办法解决这个问题吗?例如,添加

static transactional = true

到服务或控制器使进程成为事务性的;所以以类似的方式,我可以做些什么吗?

1 个答案:

答案 0 :(得分:0)

如果我理解你的要求:

在更新或保存您的域组的循环中,请调用您的服务方法,然后致电save(),将flush选项设置为false

.save(flush: false)

在遍历群组后,在会话中运行.flush().clear()。 (这只会刷新您的记录一次。您也可以在循环中粘贴一个计数器,并为每x个记录调用flush()clear()。)