Reemplazo de la herencia doctrina

Actualmente estamos desarrollando una aplicación muy flexible y modular con Zend Framework 2 y Doctrine 2. En esta aplicación hay varias entidades de Doctrine, por ejemplo, digamos que la entidadProduct en el moduloProducts. Este moduloProducts es el módulo base / predeterminado para la gestión de productos.

Queremos poder crear una costumbre.Products módulo para un cliente (XProducts). Por eso creé una nueva entidad,XProduct (con algunos campos extra) que se extiendeProduct.

Así que si el módulo personalizado está habilitado quiero usarXProduct Y ademásProduct, pero nunca juntos (en el mismo proyecto).

Si anoto ambas entidades con @Entity funciona parcialmente; por ejemplofindAll funciona perfecto, perofind no funciona: la instrucción SELECT creada contiene las columnas correctas, pero la cláusula WHERE es incorrecta. Por ejemplo:

SELECT t1.id AS id2, t1.name AS name3 FROM products t1 WHERE t0.id = ?

supongot1 representaProductX yt0 paraProduct pero no puedo entender por qué las columnas son correctas (t1) pero la cláusula where no es (t0).

Soy consciente de que Doctrine proporciona herencia de tabla única para lograr la herencia, pero, por lo tanto, es necesario tener una Columna de Discriminador y definir el Mapa de Discriminador en la entidad base / predeterminada. Esto no nos conviene, porque debemos cambiar nuestro módulo base / predeterminado si agregamos un nuevo módulo personalizado para un cliente (y eso no es lo que queremos ...).

¿Alguien tiene una pista para solucionar este problema? ¡Gracias!

Respuestas a la pregunta(2)

Su respuesta a la pregunta