diff --git a/src/Symfony/Framework/DoctrineBundle/DependencyInjection/DoctrineExtension.php b/src/Symfony/Framework/DoctrineBundle/DependencyInjection/DoctrineExtension.php index 0c139637eccc..f53560582e13 100644 --- a/src/Symfony/Framework/DoctrineBundle/DependencyInjection/DoctrineExtension.php +++ b/src/Symfony/Framework/DoctrineBundle/DependencyInjection/DoctrineExtension.php @@ -200,6 +200,7 @@ public function ormLoad($config) $mappingDriverDef = new Definition('Doctrine\ORM\Mapping\Driver\DriverChain'); $bundleEntityMappings = array(); $bundleDirs = $this->bundleDirs; + $aliasMap = array(); foreach ($this->bundles as $className) { $tmp = dirname(str_replace('\\', '/', $className)); @@ -218,16 +219,7 @@ public function ormLoad($config) { $type = 'annotation'; - $reader = new \Doctrine\Common\Annotations\AnnotationReader(); - $reader->setDefaultAnnotationNamespace('Doctrine\\ORM\\Mapping\\'); - $annotationDriver = new \Doctrine\ORM\Mapping\Driver\AnnotationDriver($reader, $dir); - $classNames = $annotationDriver->getAllClassNames(); - foreach ($classNames as $className) - { - $alias = substr_replace($className, '', 0, strpos($className, '\\') + 1); - $alias = str_replace('\Entities\\', '\\', $alias); - $ormConfigDef->addMethodCall('addEntityAlias', array($className, $alias)); - } + $aliasMap[$class] = $namespace.'\\'.$class.'\\Entities'; } if (false !== $type) @@ -240,6 +232,7 @@ public function ormLoad($config) } } } + $ormConfigDef->addMethodCall('setEntityNamespaces', array($aliasMap)); $configuration->setDefinition('doctrine.orm.metadata_driver', $mappingDriverDef);