Vous devez diviser votre interface de référentiel en deux.
La première - "Personnalisée" contenant les méthodes que vous implémentez manuellement serait :
public interface TopRepositoryCustom {
long getPublishedTopoCount();
}
Deuxième pour les méthodes générées :
public interface TopRepository extends MongoRepository<Topo, String>, TopRepositoryCustom {
@Query("{'name':?0}")
Topo findByName(String name);
}
Ensuite, il vous suffit d'implémenter le premier référentiel et de vous rappeler de suivre la convention de dénomination appropriée. Voir plus sur :spring-data mongodb custom implementation PropertyReferenceException et Spring Data MongoDB Référence des mises en œuvre personnalisées