Grails:Author.withTransaction {}和Book.withTransaction {}之间的区别(如果Author和Book都应保存在该事务中)

时间:2019-05-02 09:39:42

标签: hibernate grails gorm

Grails版本3.2.9

对于Author.withTransaction

Grails documentation并没有说太多,例如,当我要保存两个{{1时,使用Book.withTransactionAuthor有什么区别}}和Book域事务中的实例,如下所示:

Author author = Author.get(1)
Book book = Book.findByAuthor(author)

Author.withTransaction { // what if we use Book here instead of Author
    author.age = 39
    book.price = 45

    author.save(failOnError: true)
    book.save(failOnError: true)
}

找不到其他说明差异的文档。

1 个答案:

答案 0 :(得分:2)

没有区别,它们都做相同的事情。每个域类都用withTransaction装饰,这是相同的跨国代码。您可以使用Foo.withTransaction,甚至不做任何与Foo相关的事情,这没关系。