title: there is no active transaction in catch rollback
body: <p>I have read that I should use method Commit before persist, but that didn't solved my problem. I also try to use cancel EntityManager before rollback as well, but that didn't solved my problem too...</p>
  
  <pre><code>$this-&gt;em-&gt;getConnection()-&gt;beginTransaction(); // suspend auto-commit
      if($out = $this-&gt;em-&gt;getConnection()-&gt;isTransactionActive()) {
          var_dump($out);
      }
      try {
          //... do some work
          $history = new PromocodeHistory();
          $history-&gt;setCode($code);
          $history-&gt;setUser($this-&gt;getUser());
          $this-&gt;em-&gt;persist($history);
          $this-&gt;em-&gt;getConnection()-&gt;commit();
          $this-&gt;em-&gt;flush();
  
          $user = $this-&gt;getUser();
          $updatedBalance = $user-&gt;getBalance() + $code-&gt;getSum() - $sum;
          $user-&gt;setBalance($updatedBalance);
          $this-&gt;em-&gt;persist($user);
          $this-&gt;em-&gt;getConnection()-&gt;commit();
          $this-&gt;em-&gt;flush();
  
          $payment = new Payment();
          $payment-&gt;setSum($sum);
          $payment-&gt;setUser($this-&gt;getUser());
          $payment-&gt;setPromocode($code);
  
          ....
      } catch (\Exception $e) {
          if(!$out = $this-&gt;em-&gt;getConnection()-&gt;isTransactionActive()) {
              var_dump($out);
          }
          $this-&gt;em-&gt;getConnection()-&gt;rollBack();
      }
  </code></pre>
  
  <p>Before try block isTransactionActive() returned me true, but in the catch block this method retrurn me false.
  How to fix it?</p>