EC-CUBE3で開発しているとき、新規Entityを作成し別のEntity(Customer)のyamlから参照しようとするとのMappingExceptionが起こってしまいました。

MappingException in MappingException.php line 740:The target-entity Eccube\Entity\PrintLogo cannot be found in ‘Eccube\Entity\Customer#TestEntity’.

原因が分かったのは1時間後。class_exists(“Entityのクラス名”)がfalseを返している・・・。
ルートにあるautoload.php内をのぞいてみるとこんな記述が。

// autoloader cache
if (extension_loaded('apc') && ini_get('apc.enabled')) {
    $apcLoader = new Symfony\Component\ClassLoader\ApcClassLoader(sha1(__FILE__), $loader);
    $apcLoader->register();
    $loader->unregister();
} elseif (extension_loaded('wincache') && ini_get('wincache.fcenabled')) {
    $winCacheLoader = new Symfony\Component\ClassLoader\WinCacheClassLoader(sha1(__FILE__), $loader);
    $winCacheLoader->register();
    $loader->unregister();
}

つまりオートローダーごとapcのキャッシュに捕まっていたわけですね。
この部分を対処して解決しました。

このあたりのコード変更したら毎回apcのキャッシュクリアしたほうがいいのでしょうか?