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

¿Cómo personalizar MongoRepository sin anular los métodos @Query anotados en la interfaz?

Tienes que dividir la interfaz de tu repositorio en dos.

El primero:los métodos que contienen "personalizados" que implementa manualmente serían:

public interface TopRepositoryCustom {
    long getPublishedTopoCount();
}

Segundo para métodos generados:

public interface TopRepository extends MongoRepository<Topo, String>, TopRepositoryCustom {
    @Query("{'name':?0}")
    Topo findByName(String name);  
}

Luego, solo necesita implementar el primer repositorio y recordar seguir la convención de nomenclatura adecuada. Vea más en:spring-data mongodb implementación personalizada PropertyReferenceException y Spring Data MongoDB Referencia de implementaciones personalizadas