getClassMetadata(); $classes = array( 'Base\OAuthBundle\Entity\AccessToken', 'Base\OAuthBundle\Entity\AuthCode', 'Base\OAuthBundle\Entity\RefreshToken' ); if (!in_array($metadata->getName(), $classes)) { return; } $userClass = 'Base\UserBundle\Entity\User'; $OAuthUserClass = '\Base\OAuthBundle\Security\Core\User\CustomOAuthUser'; $metadata->mapManyToOne(array( 'targetEntity' => class_exists($userClass) ? $userClass : $OAuthUserClass, 'fieldName' => 'user' )); } }