From c1661dd53e2f8d18651f646011b3076e822298c7 Mon Sep 17 00:00:00 2001 From: Benjamin Eberlei Date: Tue, 16 Nov 2010 21:53:46 +0100 Subject: [PATCH] DDC-511 - MappedSuperclasses specifications of inheritance mapping details make no sense and are ignored --- lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php b/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php index 5f1de3883..806d41e78 100644 --- a/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php +++ b/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php @@ -262,15 +262,19 @@ class ClassMetadataFactory $class = $this->newClassMetadataInstance($className); if ($parent) { - $class->setInheritanceType($parent->inheritanceType); - $class->setDiscriminatorColumn($parent->discriminatorColumn); + if (!$parent->isMappedSuperclass) { + $class->setInheritanceType($parent->inheritanceType); + $class->setDiscriminatorColumn($parent->discriminatorColumn); + } $class->setIdGeneratorType($parent->generatorType); $this->addInheritedFields($class, $parent); $this->addInheritedRelations($class, $parent); $class->setIdentifier($parent->identifier); $class->setVersioned($parent->isVersioned); $class->setVersionField($parent->versionField); - $class->setDiscriminatorMap($parent->discriminatorMap); + if (!$parent->isMappedSuperclass) { + $class->setDiscriminatorMap($parent->discriminatorMap); + } $class->setLifecycleCallbacks($parent->lifecycleCallbacks); $class->setChangeTrackingPolicy($parent->changeTrackingPolicy); }