Mi entidad:
Código PHP:
   <?php
namespace Entidad;
use DoctrineCommonCollectionsArrayCollection;
/** 
 * @Entity(repositoryClass="Repositorio\categoriaRepositorio")
 * @Table(name="categorias")
 **/
class Categoria
{
    /** @Id @GeneratedValue(strategy="AUTO") @Column(type="integer") **/
    protected $id;
    /** @OneToOne(targetEntity="Categoria", inversedBy="categoriashijo" )
     *  @JoinColumn(name="fkidcategoria", referencedColumnName="id") **/ 
    protected $categoriapadre;
    /** @OneToMany(targetEntity="Categoria", mappedBy="categoriapadre") **/
    protected $categoriashijo;
    /** @OneToMany(targetEntity="Producto", mappedBy="categoria") **/
    protected $productos;
    /** @Column(type="string") **/
    protected $nombre;
    /** @Column(type="string") **/
    protected $urlrelativa;
    /** @Column(type="text") **/
    protected $descripcion;
    /** @Column(type="boolean") **/
    protected $visible;
    /** @Column(type="boolean") **/
    private $activo;
    
    public function __construct( Categoria $categoria = null )
    {
        if ( $categoria instanceof Categoria )
            $this->setCategoriaPadre( $categoria );
        $this->categoriashijo = new ArrayCollection();
        $this->productos = new ArrayCollection();
    }
    public function setId( $valor ){
        $this->id = (int)$valor;
    }
    public function getId(){
        return $this->id;
    }
    public function setCategoriaPadre( Categoria $categoria ){
        $this->categoriapadre = $categoria;
        $categoria->addCategoriaHijo($this);
    }
    public function getCategoriaPadre(){
        return $this->categoriapadre;
    }
    public function addCategoriaHijo( Categoria $categoria ){
        $this->getCategoriasHijo()->add( $categoria );
        $categoria->setCategoriaPadre( $this );
    }
    public function getCategoriasHijo(){
        return $this->categoriashijo;
    }
    public function addProducto( Producto $producto ){
        $this->getProductos()->add($producto);
        $producto->setCategoria($this);
    }
    public function getProductos(){
        $this->productos;
    }
    public function setNombre( $valor ){
        $this->nombre = (string)$valor;
    }
    public function getNombre(){
        return $this->nombre;
    }
    public function setUrlRelativa( $valor ){
        $this->urlrelativa = (string)$valor;
    }
    public function getUrlRelativa(){
        return $this->urlrelativa;
    }
    public function setDescripcion( $valor ){
        $this->descripcion = (string)$valor;
    }
    public function getDescripcion(){
        return $this->descripcion;
    }
    public function setVisible( $valor ){
        $this->visible = (boolean)$valor;
    }
    public function getVisible(){
        return $this->visible;
    }
    public function setActivo( $valor ){
        $this->activo = (boolean)$valor;
    }
    public function getActivo(){
        return $this->activo;
    }
}
?>    ¿ Como tengo que hacerlo ?
Gracias, un saludo!
EDITADO:
Ya encontre el error, tenia mal definida la entidad
 

