// The transaction() call wraps a transaction ctx.transaction(trx -> { // The whole lambda expression is the transaction's content trx.dsl() .insertInto(AUTHOR) .columns(AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME) .values(1, "Tayo", "Koleoso") .values(2, "Anghel", "Leonard") .execute(); trx.dsl() .insertInto(BOOK) .columns(BOOK.ID, BOOK.AUTHOR_ID, BOOK.TITLE) .values(1, 1, "Beginning jOOQ") .values(2, 2, "jOOQ Masterclass") .execute(); // If the lambda is completed normally, we commit // If there's an exception, we rollback }); NESTED requires SAVEPOINT support, which isn’t available in all RDBMS that support transactions REQUIRED avoids SAVEPOINT overhead, which can be a problem if you don’t actually need to nest transactions (although we might argue that the API is then wrongly…