设置实体OneToOne

I create entity Developer and TalentFile, and I want for one developer have one file (Cv), when I set entity I have filed null

/**
* Developers
*
* @ORM\Table(name="developers")
* @ORM\Entity(repositoryClass="Artel\ProfileBundle\Entity\DeveloperRepository")
*/
class Developer

/**
 * @var integer
 *
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="AUTO")
 */
protected $id;
/**
 * @ORM\OneToOne(targetEntity="TalentFiles", mappedBy="developer", cascade={"persist"})
 */
protected $talent_file;

and entity:

/**
 * Talent_files
 *
 * @ORM\Table(name="Talent_files")
 * @ORM\Entity
 */
 class TalentFiles
{
/**
 * @var integer
 *
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="AUTO")
 */
private $id;
/**
 * @ORM\OneToOne(targetEntity="Developer", inversedBy="talent_file")
 * @ORM\JoinColumn(name="user_talnet_file", nullable = true, referencedColumnName="id")
 * */
protected $developer;

This action:

  public function cvUploadAllAction($id)
{

    $em = $this->getDoctrine()->getManager();
    $request = $this->get('request');
    $developer = $em->getRepository('ArtelProfileBundle:Developer')->findOneById($id);

    if (! $developer) {
        throw $this->createNotFoundException('Unable to find a profile.');
    }

    $cv = $developer->getCvDirUri();

    if ($cv && file_exists($cv)) {
        unlink($cv);
    }

    $form = $this->createForm(new DeveloperAllCvType(), array());

    if ($request->isMethod('POST')) {

        $form->bind($request);
        if ($form->isValid()) {

            $data = $form->getData();

            $uploader = $this->get('artel.profile.file_uploader');
            $path = $uploader->uploadFile($data['photo']);
            $developer->setCvDirUri($path['url']);

            $content = shell_exec('/usr/bin/antiword '.'chmod o+r /var/www/aog-code/web/'.$path['url']);

            if ($data['photo']->getClientMimeType() == 'application/vnd.openxmlformats-officedocument.wordprocessingml.document') {

                $content = $this->get('parse_docx')->read_file_docx('/var/www/aog-code/web/'.$path['url']);

            } elseif ($data['photo']->getClientMimeType() == 'application/pdf') {

                $content = $this->get('parse_pdf')->parse('/var/www/aog-code/web/'.$path['url']);

            } else {
                $content = $this->get('parse_doc')->parse('/var/www/aog-code/web/'.$path['url']);

            }

            $url = sprintf(
                '%s%s',
                $this->container->getParameter('acme_storage.amazon_s3.base_url'),
                $this->getPhotoUploader()->uploadFromUrl($path['url'])
            );

            $talent_files = new TalentFiles();
            $talent_files->setActive('yes')
                         ->setType($data['photo']->getClientMimeType())
                         ->setContent($content)
                         ->setUserId($developer->getId())
                         ->setFilePath($url)
                         ->setTalentId($developer->getId());

            $em->persist($talent_files);
            $em->flush();

            $developer->setTextCv($content);
            $developer->setCvUri($url);
            $em->flush();

            return $this->redirect($this->generateUrl('artel_profile_homepage', array('id' => $id)).'#cv');
        }
    }

And inmy DB I have user_talnet_file=Null why? must be Id developer? And want to be,if developer have Cv and want another Cv in DB not create new entity Talent_files, update it. Help please

I solved my pdoblem like this:

                $talent_file = $developer->getTalentFile();
            if (!empty($talent_file))
            {
                $talent_file
                    ->setActive('yes')
                    ->setType($data['photo']->getClientMimeType())
                    ->setContent($content)
                    ->setUserId($developer->getId())
                    ->setFilePath($url)
                    ->setTalentId($developer->getId())
                    ->setDeveloper($developer);
                $em->persist($talent_file);
                $em->flush();
            }
            else
            {
                $talent_files = new TalentFiles();
                $talent_files->setActive('yes')
                    ->setType($data['photo']->getClientMimeType())
                    ->setContent($content)
                    ->setUserId($developer->getId())
                    ->setFilePath($url)
                    ->setTalentId($developer->getId())
                    ->setDeveloper($developer);
                $em->persist($talent_files);
                $em->flush();

            }

            $developer->setTextCv($content);
            $developer->setCvUri($url);
            $em->flush();