sql >> Base de Datos >  >> NoSQL >> MongoDB

Resolución de tipos de subdocumentos con Spring Data y MongoDB

Mi solución fue evitar las interfaces en el objeto persistente. Entonces BaseContract se convirtió en lo siguiente:

public abstract class BaseContract<T extends Code> {
    public abstract T getCode();
}

Y PersistentContract fue implementado en términos de clases concretas:

public class PersistentContract extends BaseContract<CodeImpl> {
}

Esto parece lograr el equilibrio adecuado entre la codificación contra las interfaces en la clase base y la satisfacción de la necesidad de clases concretas de Spring Data.