Въпросът е стар, но може да бъде полезен за някого.
Ако loadClassMetada се извиква всеки път, тогава изглежда този проблем във вашия код. Но предполагам, че тези метаданни се кешират от доктрина. В този случай можете да ги промените директно, моля, вижте следния кодов фрагмент, той трябва да работи:
<?php
class FooController extends Controller {
function fooAction() {
$em = $this->getDoctrine()->getEntityManager();
$cm = $em->getClassMetadata('FooBundle:FooEntity');
$cm->setTableName('special_table_name');
$repo = $em->getRepository('FooBundle:FooEntity');
$entities = $repo->createQueryBuilder('f')
->setMaxResults(1)
->orderBy('f.id', 'desc')
->getQuery()
->getResult();
return new Response('');
}
}