不是有效的实体或映射超类(Not a valid entity or mapped super cl

2019-08-16 16:38发布

我有2束,1个CMS束,这将是父包。 我有重复的实体来说都捆绑。 就像User在CMS用户捆绑我做到了一个抽象类。 (不知道这是正确的选择。其实,我要的是如果需要延长我的用户实体)。

CMS用户:

abstract class User implements UserInterface

捆绑用户:

use MV\CMSBundle\Entity\User as BaseUser;

/**
 * @ORM\Entity(repositoryClass="MV\NameBundle\Repository\UserRepository")
 * @DoctrineAssert\UniqueEntity(fields={"email"}, message="user.email.already.exist" )
 */
class User extends BaseUser
{
    ....
}

即时得到错误Class "MV\CMSBundle\Entity\User" is not a valid entity or mapped super class.

我已搜查symfony中的文档,发现这个页面: 实体实体映射 ,但他们并没有加入一些内容的xD

哦,不,我不想使用FOSUserBundle;)

Symfony的:2.1

Answer 1:

定义基类,如下所示:

/**
 * @ORM\MappedSuperclass
 */
abstract class BaseUser
{
    // ...
}

定义真正的实体:

/**
 * @ORM\Entity
 */
class User extends BaseUser
{
    // ...
}

因为你错过了在基类的@MappedSuperclass注解,学说抛出你提到的例外。



Answer 2:

在我来说,我是缺少* @ORM\Entity在我的类定义。

/**
 * @ORM\Entity
 * @ORM\Table(name="listtype")
 */
class ListType
{
    ...
}


Answer 3:

在我的情况下,问题是eaccelerator ,因为它剔除了该学说使用的所有评论。 禁用后eaccelerator它的工作。 您可以禁用你的php的设置,或者

web/app_dev.phpweb/app.php文件。

<?php
    ini_set('eaccelerator.enable', 0);
    ini_set('eaccelerator.optimizer', 0);
    //rest of the code.

注:禁用此之后,请清除Symfony2的缓存。



Answer 4:

我有同样的问题。 但要使它工作,但我不得不行转移:

* @ORM\Table
* @ORM\Entity 


文章来源: Not a valid entity or mapped super class