/**
  * Rolls back the transaction.
  * Attempts to reconnect once if disconnected.
  *
  * @throws \Exception
  */
 public function rollBack()
 {
     try {
         $this->connection->rollBack();
     } catch (\Exception $e) {
         throw $this->connection->reconnectIfNeeded($e);
     }
 }