应该这样做:
List<Book> books = createSomeBooks()books.each { book -> Book.withNewTransaction {TransactionStatus status -> try { book.save(failOnError: true) } catch (ex) { status.setRollbackonly() } }}
如果您回滚,该会话无效,它将被清除。因此,任何访问从数据库读取的实体的尝试都将失败,但是写尚未持久的实体就可以了。但是,您确实需要使用单独的事务来防止一个故障回滚所有事件,因此要避免withNewTransaction。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)