Buenas a todos,
os expongo la siguiente casuística con la esperanza de que me iluminéis con vuestro saber y conocimiento en aras de encontrar la mejor solución:
- Supongamos que existe un DTO tipo Product que posee una serie de campos comunes a cualquier Product.
public class ProductblablaDTO {
private String productNo
private String categoryCode;
private String material;
Existirán diferentes variaciones de este mismo DTO en función de la categoría de tal forma que ProductTipo2 tendrá una serie de campos a mayores que product tipo1, tipo3 o viceversa, es decir, existirá un DTO con campos comunes a todos los productos y otra serie de campos "dinámicos" en función del tipo.
Mi duda viene a la hora de abordar esta problemática de la forma más eficiente, ya que una posible solución sería añadir un campo tipo Map que contenga los campos dinámicos para cada tipo y rellenarlo "manualmente" con el resultado de una consulta:
List<Object> entityManager.createNativeQuery("blablabla")
Esto me parece una broza considerable, por lo que he estado investigando diferentes alternativas que puedan encajar como las etiquetas para Dynamic Mapping] de Hibernate, el deprecated de AliasResultTransformer, los Filters etc pero no termino de verlo.
¿Podríais indicarme cómo plantear la mejor solución para esto?
Gracias,