symfony: não podemos ter um campo de entidade oculto?

Estou renderizando um formulário com um campo de entidade no symfony.

Funciona bem quando escolho um campo de entidade regular.

$builder
    ->add('parent','entity',array(
            'class' => 'AppBundle:FoodAnalytics\Recipe',
            'attr' => array(
                'class' => 'hidden'
            )
        ))

Ele lança o seguinte erro quando escolho -> add ('parent', 'hidden'):

Espera-se que os dados de exibição do formulário sejam do tipo escalar, matriz ou instância de \ ArrayAccess, mas é uma instância da classe AppBundle \ Entity \ FoodAnalytics \ Recipe. Você pode evitar esse erro definindo a opção "data_class" como "AppBundle \ Entity \ FoodAnalytics \ Recipe" ou adicionando um transformador de exibição que transforma uma instância da classe AppBundle \ Entity \ FoodAnalytics \ Recipe em escalar, matriz ou uma instância de \ ArrayAccess. Erro interno do servidor 500 - LogicException

Não podemos ter campos de entidade ocultos ?? Por que não? Sou obrigado a colocar outro campo oculto para recuperar o ID da entidade?

EDIT:

Basicamente, o que estou tentando fazer é hidratar o formulário antes de exibi-lo, mas impedir que o usuário altere um de seus campos (o pai aqui). Isso ocorre porque preciso passar o ID como parâmetro e não posso fazê-lo no URL de ação do formulário.