diff --git a/src/DynamicEntityReferenceServiceProvider.php b/src/DynamicEntityReferenceServiceProvider.php
index cc6da32..7219157 100644
--- a/src/DynamicEntityReferenceServiceProvider.php
+++ b/src/DynamicEntityReferenceServiceProvider.php
@@ -4,6 +4,10 @@ namespace Drupal\dynamic_entity_reference;
 
 use Drupal\Core\DependencyInjection\ContainerBuilder;
 use Drupal\Core\DependencyInjection\ServiceProviderBase;
+use Drupal\Core\Entity\Query\Sql\QueryFactory as BaseQueryFactory;
+use Drupal\Core\Entity\Query\Sql\pgsql\QueryFactory as BasePgsqlQueryFactory;
+use Drupal\dynamic_entity_reference\Query\PgsqlQueryFactory;
+use Drupal\dynamic_entity_reference\Query\QueryFactory;
 use Symfony\Component\DependencyInjection\Definition;
 use Symfony\Component\DependencyInjection\Reference;
 
@@ -29,7 +33,25 @@ class DynamicEntityReferenceServiceProvider extends ServiceProviderBase {
       // serializer.normalizer.entity_reference.hal in hal.services.yml.
       $service_definition->addTag('normalizer', ['priority' => 20]);
       $container->setDefinition('serializer.normalizer.entity.dynamic_entity_reference_item.hal', $service_definition);
-
+    }
+    $map = [
+      'entity.query.sql' => [
+        'old' => BaseQueryFactory::class,
+        'new' => QueryFactory::class,
+      ],
+      'pgsql.entity.query.sql' => [
+        'old' => BasePgsqlQueryFactory::class,
+        'new' => PgsqlQueryFactory::class,
+      ]
+    ];
+    foreach ($map as $service_id => $data) {
+      if ($container->hasDefinition($service_id)) {
+        $service_definition = $container->getDefinition($service_id);
+        if ($service_definition->getClass() == $data['old']) {
+          $service_definition->setClass($data['new']);
+          $container->setDefinition($service_id, $service_definition);
+        }
+      }
     }
   }
 
diff --git a/src/Query/PgsqlQueryFactory.php b/src/Query/PgsqlQueryFactory.php
new file mode 100644
index 0000000..57e9994
--- /dev/null
+++ b/src/Query/PgsqlQueryFactory.php
@@ -0,0 +1,9 @@
+<?php
+
+namespace Drupal\dynamic_entity_reference\Query;
+
+use Drupal\Core\Entity\Query\Sql\pgsql\QueryFactory as BaseQueryFactory;
+
+class PgsqlQueryFactory extends BaseQueryFactory {
+
+}
diff --git a/src/Query/QueryFactory.php b/src/Query/QueryFactory.php
new file mode 100644
index 0000000..b50a218
--- /dev/null
+++ b/src/Query/QueryFactory.php
@@ -0,0 +1,9 @@
+<?php
+
+namespace Drupal\dynamic_entity_reference\Query;
+
+use Drupal\Core\Entity\Query\Sql\QueryFactory as BaseQueryFactory;
+
+class QueryFactory extends BaseQueryFactory {
+
+}
diff --git a/src/Query/Tables.php b/src/Query/Tables.php
new file mode 100644
index 0000000..bfd5aa6
--- /dev/null
+++ b/src/Query/Tables.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace Drupal\dynamic_entity_reference\Query;
+
+use Drupal\Core\Entity\Query\Sql\Tables as BaseTables;
+
+class Tables extends BaseTables {
+}
