Трябва да разделите интерфейса на вашето хранилище на две.
Първият - "По избор", съдържащ методи, които прилагате ръчно, ще бъде:
public interface TopRepositoryCustom {
long getPublishedTopoCount();
}
Втори за генерирани методи:
public interface TopRepository extends MongoRepository<Topo, String>, TopRepositoryCustom {
@Query("{'name':?0}")
Topo findByName(String name);
}
Тогава просто трябва да внедрите първото хранилище и не забравяйте да следвате правилната конвенция за именуване. Вижте повече на:spring-data mongodb персонализирано внедряване PropertyReferenceException и Spring Data MongoDB Справка за персонализирани реализации