Witam mam problem z transakcja jak pojawi sie gdzies blad to nie wraca do stanu z przed jej wykonania

  1. $em->getConnection()->beginTransaction(); // suspend auto-commit
  2. try {
  3. $Post= new models\Entity\Post;
  4. $Post->setPostTitle('setPostTitle');
  5. $em->persist($Post);
  6.  
  7. $Post_settings = new models\Entity\Post_settings;
  8. $Post_settings->setIdPost($Post);
  9. $Post_settings->setKey(NULL);
  10. $em->persist($Post_settings);
  11.  
  12. $em->flush();
  13. $em->getConnection()->commit();
  14.  
  15. } catch (Exception $e) {
  16. $em->getConnection()->rollback();
  17. $em->close();
  18. throw $e;
  19. }

$Post_settings->setKey(NULL); wartosc nie moze byc NULL dostaje error ale do Tabeli dodje sie rekord "Post" a przeciez nie powinien skoro jest rollback o co chodzi ?