Grails版本3.2.9
withTransaction
的Grails文档并没有说太多,例如,在我想同时保存Author
和Book
域实例时,使用Author.withTransaction
和Book.withTransaction
有什么区别:
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)
}
找不到任何其他文档来解释差异。
没有区别,他们都做同样的事情。每个域类都用withTransaction
装饰,这是相同的跨国代码。您可以使用Foo.withTransaction
,甚至不做任何与Foo
有关的事情,也没关系。