以编程方式处理Grails交易

以编程方式处理Grails交易,第1张

以编程方式处理Grails交易

应该这样做:

List<Book> books = createSomeBooks()books.each { book ->  Book.withNewTransaction {TransactionStatus status ->    try {      book.save(failOnError: true)    } catch (ex) {      status.setRollbackonly()    }  }}

如果您回滚,该会话无效,它将被清除。因此,任何访问从数据库读取的实体的尝试都将失败,但是写尚未持久的实体就可以了。但是,您确实需要使用单独的事务来防止一个故障回滚所有事件,因此要避免withNewTransaction。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4973513.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存