diff --git a/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php b/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php index c72f884e9..612574e90 100644 --- a/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php +++ b/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php @@ -3094,7 +3094,7 @@ class ClassMetadataInfo implements ClassMetadata $fieldMapping['declaredField'] = $property; $fieldMapping['originalField'] = $fieldMapping['fieldName']; $fieldMapping['fieldName'] = $property . "." . $fieldMapping['fieldName']; - $fieldMapping['columnName'] = $this->namingStrategy->embeddedFieldToColumnName($property, $fieldMapping['columnName']); + $fieldMapping['columnName'] = $this->namingStrategy->embeddedFieldToColumnName($property, $fieldMapping['columnName'], $this->reflClass->name, $embeddable->reflClass->name); $this->mapField($fieldMapping); } diff --git a/lib/Doctrine/ORM/Mapping/DefaultNamingStrategy.php b/lib/Doctrine/ORM/Mapping/DefaultNamingStrategy.php index 22e51674e..06bc593be 100644 --- a/lib/Doctrine/ORM/Mapping/DefaultNamingStrategy.php +++ b/lib/Doctrine/ORM/Mapping/DefaultNamingStrategy.php @@ -53,9 +53,9 @@ class DefaultNamingStrategy implements NamingStrategy /** * {@inheritdoc} */ - public function embeddedFieldToColumnName($propertyName, $embeddedColumnName) + public function embeddedFieldToColumnName($propertyName, $embeddedColumnName, $className = null, $embeddedClassName = null) { - return $propertyName.ucfirst($embeddedColumnName); + return $propertyName.'_'.$embeddedColumnName; } /** diff --git a/lib/Doctrine/ORM/Mapping/NamingStrategy.php b/lib/Doctrine/ORM/Mapping/NamingStrategy.php index b48e95069..94938ccf2 100644 --- a/lib/Doctrine/ORM/Mapping/NamingStrategy.php +++ b/lib/Doctrine/ORM/Mapping/NamingStrategy.php @@ -57,7 +57,7 @@ interface NamingStrategy * * @return string */ - function embeddedFieldToColumnName($propertyName, $embeddedColumnName); + function embeddedFieldToColumnName($propertyName, $embeddedColumnName, $className = null, $embeddedClassName = null); /** * Returns the default reference column name. diff --git a/lib/Doctrine/ORM/Mapping/UnderscoreNamingStrategy.php b/lib/Doctrine/ORM/Mapping/UnderscoreNamingStrategy.php index e301d958b..ec74373a8 100644 --- a/lib/Doctrine/ORM/Mapping/UnderscoreNamingStrategy.php +++ b/lib/Doctrine/ORM/Mapping/UnderscoreNamingStrategy.php @@ -90,7 +90,7 @@ class UnderscoreNamingStrategy implements NamingStrategy /** * {@inheritdoc} */ - public function embeddedFieldToColumnName($propertyName, $embeddedColumnName) + public function embeddedFieldToColumnName($propertyName, $embeddedColumnName, $className = null, $embeddedClassName = null) { return $this->underscore($propertyName).'_'.$embeddedColumnName; }