Skip to content

Doctrine “Entity” is not a valid entity or mapped super class

In my doctrine.php I have the following configuration


// See

namespace SymfonyComponentDependencyInjectionLoaderConfigurator;

return static function (ContainerConfigurator $container) {
    $container->extension('doctrine', [
        'dbal' => [
            'url' => '%env(DATABASE_URL)%',
        'orm' => [
            'auto_generate_proxy_classes' => true,
            'auto_mapping' => true,
            'mappings' => [
                'default' => [
                    'is_bundle' => false,
                    'type' => 'annotation',
                    'dir' => '%kernel.project_dir%/src/Entity',
                    'prefix' => 'AppEntity',
                    'alias' => 'App'

And my Entity class is defined as follows

namespace AppEntity;

use DoctrineORMMappingEntity;
use DoctrineORMMappingTable;

#[Entity(repositoryClass: EntityRepository::class)]
#[Table(name: 'entity')]
class Entity


I tried accessing it like by calling getRepository like this

$entityRepository = $entityManager->getRepository(Entity::class);

But this fails with the is not a valid entity or mapped super class


If necessary, this is my EntityRepository.php


namespace AppRepository;

use AppEntityEntity;
use DoctrineBundleDoctrineBundleRepositoryServiceEntityRepository;
use DoctrinePersistenceManagerRegistry;

class EntityRepository extends ServiceEntityRepository
    public function __construct(ManagerRegistry $registry)
        parent::__construct($registry, Entity::class);



I found an issue. I am a dummy..

I had to change

'type' => 'annotation'


'type' => 'attribute'

Since I’m using php8 syntax. Sorry lads!

User contributions licensed under: CC BY-SA
7 People found this is helpful