Automatically starts a transaction, commits if no exceptions are thrown and aborts the transaction otherwise.