Class ..Entity\User 不是有效的实体或映射的超类
Posted
技术标签:
【中文标题】Class ..Entity\\User 不是有效的实体或映射的超类【英文标题】:Class ..Entity\User is not a valid entity or mapped super classClass ..Entity\User 不是有效的实体或映射的超类 【发布时间】:2011-12-21 04:14:36 【问题描述】:当我尝试清除缓存时出现此错误(例如):
[Doctrine\ORM\Mapping\MappingException] 类 Aib\PlatformBundle\Entity\User 不是有效实体或映射的超级 类。
这是 User.php:
<?php
// src/Aib/PlatformBundle/Entity/User.php
namespace Aib\PlatformBundle\Entity;
use FOS\UserBundle\Entity\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="fos_user")
*/
class User extends BaseUser
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
public function __construct()
parent::__construct();
// your own logic
而这里是存放User.php的地方:
javier@javier:~/programacion/aib/src/Aib/PlatformBundle/Entity$ ls User.php UserRepository.php
这是 AppKernel.php:
public function registerBundles()
$bundles = array(
...
new Aib\PlatformBundle\AibPlatformBundle(),
...
);
sf 2.0.4
【问题讨论】:
你是否在你的 app/config.yml 中设置了实体映射来自动加载? 为什么不回答有问题的问题? InvalidConfigurationException: Unrecognized options "auto_mapping" under "doctrine.orm" 我在 symfony 2.1-BETA 中遇到了这样的异常 【参考方案1】:在我的情况下,我的类定义中缺少 * @ORM\Entity
。
/**
* @ORM\Entity
* @ORM\Table(name="listtype")
*/
class ListType
...
【讨论】:
【参考方案2】:我对 FOS UserBundle 的实现有完全相同的经验,发现我能够通过删除 MyBundle\Resources\config\doctrine 文件夹来解决问题。
我不完全理解原因(新手),但认为问题是在麻烦的方向上构建数据库内容的结果,即来自理论实体和通过对某些表进行逆向工程。
【讨论】:
【参考方案3】:我遇到了同样的问题,结果是 app/config/config.yml
它需要默认捆绑包的定义如下 NameBundle,然后它工作正常
orm:
auto_generate_proxy_classes: %kernel.debug%
default_entity_manager: default
entity_managers:
default:
mappings:
NameBundle: ~
【讨论】:
【参考方案4】:在我的情况下,问题是通过将我的服务器缓存从 eAccelerator 更改为 APC 来解决的。 显然,eAccelerator 会从破坏您的注释的文件中删除所有 cmets。
【讨论】:
【参考方案5】:我遇到了同样的错误,但这是因为我没有包含 Sonata 应用程序:
试试这个:
在 AppKernel.php 中添加一行
$bundles = array(
...
new Application\Sonata\UserBundle\ApplicationSonataUserBundle(),
...
【讨论】:
【参考方案6】:如果继承自映射类,可以在实体注解中添加@ORM\SuperMappedClass。 您可以在this article阅读大部分信息。
【讨论】:
以上是关于Class ..Entity\User 不是有效的实体或映射的超类的主要内容,如果未能解决你的问题,请参考以下文章
org.hibernate.TypeMismatchException: Provided id of the wrong type for class cn.itcast.entity.User.
类 '...\Entity\User' 没有方法 'getGenderList'
在 Kotlin 中使用 Room 的 @ForeignKey 作为 @Entity 参数
错误生成 crud:CLass XX 不是有效实体或映射的超类
Symfony2 Class Brenne\BaseBundle\Entity\Websites 不是有效的实体或映射的超类