Почему не получается сохранить новую сущность после preUpdate event?
Я все сущности для проталкивания на этапе preUpdate сохраняю в массив в свойство класса, а на postFlush вытаскиваю и проталкиваю.class PurchaseListener {

    protected $notifications = array();

    public function preUpdate(LifecycleEventArgs $args) {
        $entity = $args->getEntity();
        $em = $args->getEntityManager();
        if ($entity instanceof Purchase) {
            ...
                    $notification = new Notification();
                    $notification->setUser($entity->getUser())
                        ->setText('блабла')
                        ->setType('success');
                    $this->notifications[] = $notification;
                ...
        }
    }

    public function postFlush(PostFlushEventArgs $event)
    {
        if(count($this->notifications)>0) {
            $em = $event->getEntityManager();
            foreach ($this->notifications as $thing) {
                $em->persist($thing);
            }
            $this->notifications = array();
            $em->flush();
        }
    }
}
нашел не совсем красивое решение$sql = "INSERT INTO table (field1, field2) VALUES ('foo', 'var')";
$stmt = $em->getConnection()->prepare($sql);
$stmt->bindValue('invoice', $invoiceId);
$result = $stmt->execute();