diff --git a/src/SingletonProvider/DoctrineEntityManagerRepositoryProvider.php b/src/SingletonProvider/DoctrineEntityManagerRepositoryProvider.php index 6167b487198daff56221fb5360115ca370c541e5..587ab4f6aae342e7a29b1fcb8293a62ac419e5b4 100644 --- a/src/SingletonProvider/DoctrineEntityManagerRepositoryProvider.php +++ b/src/SingletonProvider/DoctrineEntityManagerRepositoryProvider.php @@ -44,6 +44,8 @@ final readonly class DoctrineEntityManagerRepositoryProvider extends SingletonPr $this->generateProxies($doctrineEntityManagerRepository); } + $this->preloadClassMetadata($doctrineEntityManagerRepository); + return $doctrineEntityManagerRepository; } @@ -66,4 +68,13 @@ final readonly class DoctrineEntityManagerRepositoryProvider extends SingletonPr */ $entityManager->getConnection()->close(); } + + private function preloadClassMetadata(DoctrineEntityManagerRepository $doctrineEntityManagerRepository): void + { + $doctrineEntityManagerRepository + ->buildEntityManager() + ->getMetadataFactory() + ->getAllMetadata() + ; + } } diff --git a/src/SingletonProvider/DoctrineORMConfigurationProvider.php b/src/SingletonProvider/DoctrineORMConfigurationProvider.php index 5167ace066b5617bb0b0cd7a8f748371cef4d45f..e256eb9f93ef6a5c7548a829734240beec781442 100644 --- a/src/SingletonProvider/DoctrineORMConfigurationProvider.php +++ b/src/SingletonProvider/DoctrineORMConfigurationProvider.php @@ -14,6 +14,7 @@ use Distantmagic\Resonance\Feature; use Distantmagic\Resonance\PHPProjectFiles; use Distantmagic\Resonance\SingletonContainer; use Distantmagic\Resonance\SingletonProvider; +use Doctrine\Common\EventManager; use Doctrine\ORM\Configuration; use Doctrine\ORM\ORMSetup; use Doctrine\ORM\Proxy\ProxyFactory; @@ -30,6 +31,7 @@ final readonly class DoctrineORMConfigurationProvider extends SingletonProvider private ApplicationConfiguration $applicationConfiguration, private DoctrineAttributeDriver $doctrineAttributeDriver, private DoctrineEntityListenerResolver $doctrineEntityListenerResolver, + private EventManager $eventManager, ) {} public function provide(SingletonContainer $singletons, PHPProjectFiles $phpProjectFiles): Configuration