Hola. Antes de nada gracias.
Estoy utilizando Php + Doctrine, y tengo un problema en una relación reflexiva
One To Many en la clase Categoria:
Cuando realizo una consulta para obtener una categoria la cual no tiene categoriaPadre
no da error, pero si tiene categoriaPadre me da el siguiente error:
<br>
<b>Fatal error</b>:  Uncaught exception 'ReflectionException' with message
'Class productos does not exist' in 
C:\xampp\htdocs\farmaciaBalerma\privado\doctrine\vendor\doctrine\common\lib\Doctrine\Common\Proxy\ProxyGenerator.php:949Stack trace:
0 C:\xampp\htdocs\farmacia\privado\doctrine\vendor\doctrine\common\lib
\Doctrine\Common\Proxy\ProxyGenerator.php(949): ReflectionParameter->getClass()
1 C:\xampp\htdocs\farmacia\privado\doctrine\vendor\doctrine\common\lib
\Doctrine\Common\Proxy\ProxyGenerator.php(902): Doctrine\Common\Proxy\
ProxyGenerator->getParameterType(Object(Doctrine\ORM\Mapping\ClassMetadata), Object(ReflectionMethod), Object(ReflectionParameter))
2 C:\xampp\htdocs\farmacia\privado\doctrine\vendor\doctrine\common\lib
\Doctrine\Common\Proxy\ProxyGenerator.php(779): Doctrine\Common\Proxy\
ProxyGenerator->buildParametersString(Object(Doctrine\ORM\Mapping\ClassMetadata), Object(ReflectionMethod), Array)
3 [internal function]: Doctrine\Common\Proxy\ProxyGenerator->generateMethods(Object(Doctrine\ORM\M in <b>C:\xampp\htdocs\farmacia\privado\doctrine\vendor\doctrine\common\lib
\Doctrine\Common\Proxy\Exception\UnexpectedValueException.php</b> on line <b>53</b><br>Os comento, tengo 3 Clases: Producto, Categoria, ProductoCategoria y tengo las siguientes relaciones:
 Relación OneToMany Bidireccional de Producto a ProductoCategoria
 Relación OneToMany Bidireccional de Categoria a ProductoCategoria
 Relación OneToMany Reflexiva de CategoriaOs muestro la clase Categoria:
/**
*@Entity @Table(name="categorias")
**/
use Doctrine\Common\Collections\ArrayCollection;
class Categoria{ 
    /**
    *@Id 
    *@Column(type="integer") 
    *@GeneratedValue
    * @var int
    */
    private $id;
    /**
     * @ManyToOne(targetEntity="Categoria", inversedBy="subcategorias")
     * @JoinColumn(name="parent_id", referencedColumnName="id")
     **/
    private $categoriaPadre;
     /**
     * @OneToMany(targetEntity="Categoria", mappedBy="categoriaPadre")
     **/
    private $subcategorias;
     /**
     * @OneToMany(targetEntity="ProductoCategoria", mappedBy="categoria")
     **/
    private $productos;
    function __construct()
    {
        $this->productos = new ArrayCollection();
        $this->subcategorias = new ArrayCollection();
    }
}La clase ProductoCategoria
/**
*@Entity @Table(name="ProductoCategorias")
**/
class ProductoCategoria{
    /**
     * @Id
     * @ManyToOne(targetEntity="Producto", inversedBy="categorias")
     * @JoinColumn(name="producto_id", referencedColumnName="id")
     **/
    private $producto;
   /**
     * @Id
     * @ManyToOne(targetEntity="Categoria", inversedBy="productos")
     * @JoinColumn(name="categoria_id", referencedColumnName="id")
     **/
    private $categoria;
    /**
    *@Column(type="integer")
    * @var int
    */
    private $posicion;La clase Producto:
/**
*@Entity @Table(name="productos")
**/
class Producto{
    /**
    *@Id 
    *@Column(type="integer") 
    *@GeneratedValue
    * @var int
    */
    private $id;
    /**
    *@Column(length=150)
    * @var string
    */
    private $nombre;
    /**
     * @OneToMany(targetEntity="ProductoCategoria", mappedBy="producto")
     **/
    private $categorias;
    function __construct()
    {
        $this->categorias = new ArrayCollection();
    }


