Wyjątek ReflectionException jest generowany podczas mapowania jednostek w Doctrine z różnych baz danych

Próbuję użyć Doctrine 2 w aplikacji ZF2, która zawiera dwa moduły, każdy z własną bazą danych. Muszę użyć połączeń między bazami danych, aby móc powiązać elementy z jednego modułu z elementami w innym.Oto diagram UML konfiguracji.

Próbowałem użyć tego w moim pierwszym obiekcie (usunąłem nieistotne parametry iuse sprawozdania):

namespace Client\Entity;

/**
 * A website.
 *
 * @ORM\Entity
 * @ORM\Table(name="users.website")
 * ...
 * @property $server
 */
class Website extends BaseEntity {

    // Other class vars ... 

    /**
     * @ORM\ManyToOne(targetEntity="Server\Entity\Server", inversedBy="websites")
     * @ORM\JoinColumn(name="server_id", referencedColumnName="id")
     */
    protected $server;

A to w moim serwerze:

namespace Server\Entity;

/**
 * A server.
 *
 * @ORM\Entity
 * @ORM\Table(name="servers.server")
 * ...
 * @property $websites
 */
class Server extends BaseEntity {

   // Other class vars ... 

   /**
    * @ORM\OneToMany(targetEntity="Client\Entity\Website", mappedBy="server")
    */
   protected $websites;

To mapowanie działa doskonale, gdy tworzę nową stronę internetową (za pomocą formularza internetowego, który używaDoctrineModule\Form\Element\ObjectSelect dla powiązania serwera), ale kiedy idę doedytować istniejąca strona internetowa, zgłoszony jest wyjątek ReflectionException:

Jednostka serwera klasy Witryna nie istnieje

Ślad pełnego stosumożna znaleźć tutaj. Z jakiegoś powodu, gdy dostęp do jednostki serwera uzyskuje się z jej powiązania z jednostką strony internetowej, uważa ona, że ​​wszystkie podmioty istnieją wServer\Entity przestrzeń nazw zamiastClient\Entity. Co muszę zrobić, aby upewnić się, że jednostka serwera wygląda we właściwej przestrzeni nazw modułów?

Komenda CLIorm:info produkuje:

Found 7 mapped entities:
[OK]   Server\Entity\Server
[OK]   Client\Entity\Role
[OK]   Client\Entity\Website
[OK]   Client\Entity\User
[OK]   Client\Entity\Client
[OK]   Client\Entity\Permission
[OK]   Message\Entity\Notification

Aleorm:validate-schema prowadzi do:

[Mapping]  OK - The mapping files are correct.
[Database] FAIL - The database schema is not in sync with the current mapping file.

Mam to w każdym z moich modułówmodule.config.php:

'driver' => array(
    __NAMESPACE__ . '_driver' => array(
        'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
        'cache' => 'array',
        'paths' => array(__DIR__ . '/../src/' . __NAMESPACE__ . '/Entity')
    ),
    'orm_default' => array(
        'drivers' => array(
            __NAMESPACE__ . '\Entity' => __NAMESPACE__ . '_driver'
        )
    )
)

questionAnswers(1)

yourAnswerToTheQuestion