我正在试验 Grails 2.0.1 并阅读了文档,但对新的动态方法感到困惑:
def book = Book.findOrSaveWhere(author: 'Daniel Suarez', title: 'Daemon')
def book = Book.findOrSaveByAuthorAndTitle('Daniel Suarez', 'Daemon')
我可以想象一些findOrCreateBy/Where
可能会派上用场的情况,但对于我的一生,我想不出任何需要的情况findOrSaveBy/Where
。即使在github 上的测试用例中,这种方法的动机对我来说也不是很明显。似乎在每个测试用例中,您显然想要find
或显然想要这样做,save
所以findOrSave
只是使代码的意图变得不那么清晰。
这些功能的原始 JIRA 条目没有讨论动机或提供任何背景。有人可以给我一些这些方法有益的场景吗?