Trovato il fattaccio :
L'errore che avevo quando tentato di creare un campo entity era dovuto dalla mancanza del metodo
__toString della classe category.
Doctrine cerca quel metodo quanto ha la necessità di descrivere la categoria in qualsiasi operazione deve.. E chi cavolo poteva immaginarselo ....


Altra cosa importate per chi legge...
La costruzione del campo choise come esposta all'inizio è un errore in quanto dopo il $_POST dei dati avevo un errore a questa riga di codice :

$form->handleRequest($request);

Che ad un certo punto andava ad invocare questo metodo dell'oggetto book :

public function setCategoryId(\Acme\DemoBundle\Entity\Category $categoryId = null)

Quello che gli veniva passato era descrittivo e non l'entità e quindi andava in errore... il perchè è chiaro anche se non ho capito come mai arrivava un testo e non un oggetto.

Creando la select option tramite l'oggetto entity invece, symfony ricrea correttamente la categoria e la schiaffa dentro al metodo.
.
.
.
.
Symfony sarà pure bello, ma è anche folle.....
.
.
.
Proseguo alla creazione della classe form per ripulire il Controller, dato che ho già avuto parecchi insulti, neanche avessi ucciso mia mamma.