예제 #1
0
 /**
  * @param LoadClassMetadataEventArgs $event
  */
 public function loadClassMetadata(LoadClassMetadataEventArgs $event)
 {
     /** @var ClassMetadata $classMetadata */
     $classMetadata = $event->getClassMetadata();
     if (($resource = $this->resolveResource($classMetadata->getName())) !== null) {
         foreach ($classMetadata->parentClasses as $parentClass) {
             try {
                 $parentMetadata = $event->getObjectManager()->getClassMetadata($parentClass);
             } catch (MappingException $e) {
                 continue;
             }
             /** @var ClassMetadata $parentMetadata */
             if ($parentMetadata->inheritanceType === ClassMetadata::INHERITANCE_TYPE_NONE) {
                 $parentMetadata->isMappedSuperclass = true;
             }
         }
         $classMetadata->setCustomRepositoryClass($resource->getRepository());
     }
 }