Doctrine\ORM\UnitOfWork::persistNew PHP Method

persistNew() private method

private persistNew ( $class, $entity )
    private function persistNew($class, $entity)
    {
        $oid = spl_object_hash($entity);
        if (isset($class->lifecycleCallbacks[Events::prePersist])) {
            $class->invokeLifecycleCallbacks(Events::prePersist, $entity);
        }
        if ($this->evm->hasListeners(Events::prePersist)) {
            $this->evm->dispatchEvent(Events::prePersist, new LifecycleEventArgs($entity, $this->em));
        }

        $idGen = $class->idGenerator;
        if ( ! $idGen->isPostInsertGenerator()) {
            $idValue = $idGen->generate($this->em, $entity);
            if ( ! $idGen instanceof \Doctrine\ORM\Id\AssignedGenerator) {
                $this->entityIdentifiers[$oid] = array($class->identifier[0] => $idValue);
                $class->setIdentifierValues($entity, $this->entityIdentifiers[$oid]);
            } else {
                $this->entityIdentifiers[$oid] = $idValue;
            }
        }
        $this->entityStates[$oid] = self::STATE_MANAGED;

        $this->scheduleForInsert($entity);
    }