Symfony MappingException:目标实体";“实体”;在';xxx\Entity\User#nhpProductIds';

Symfony MappingException:目标实体";“实体”;在';xxx\Entity\User#nhpProductIds';,symfony,doctrine,mapping,entity,Symfony,Doctrine,Mapping,Entity,只有在映射似乎不正确的生产服务器上,我才遇到一个奇怪的问题。它在我的开发服务器上工作——它们在git上都是最新的 这是我在生产中遇到的错误: [Doctrine\ORM\Mapping\MappingException] The target-entity Shawmut\ClientBundle\Entity\NHPProductId cannot be found in 'Shawmut\ClientBundle\Entity\User#nhpProductIds'. 从我的实体\n产品I

只有在映射似乎不正确的生产服务器上,我才遇到一个奇怪的问题。它在我的开发服务器上工作——它们在git上都是最新的

这是我在生产中遇到的错误:

[Doctrine\ORM\Mapping\MappingException]
The target-entity Shawmut\ClientBundle\Entity\NHPProductId cannot be found in 'Shawmut\ClientBundle\Entity\User#nhpProductIds'.
从我的实体\n产品ID:

/**
 * @ORM\ManyToOne(targetEntity="User", inversedBy="nhpProductIds")
 * @ORM\JoinColumn(name="nhp_product_id_users", referencedColumnName="id")
 **/
protected $user;
从我的实体\用户:

/**
 * @ORM\OneToMany(targetEntity="NHPProductId", mappedBy="user")
 **/
protected $nhpProductIds;
有人能想到这里出了什么问题吗


编辑:我可以通过将实体重命名为ProductId而不是NHPProductId来解决这个问题。我不知道为什么这会导致实体无法加载,但这就是修复方法。

这最终是由于我的实体名称造成的。通过将其重命名为NhpProductId,问题就消失了

这类事情通常是缓存问题。删除生产服务器的缓存并重建。我已清除并重新预热缓存。在warm上,它给出了[Doctrine\ORM\Mapping\MappingException]错误。请参考此问题