MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie kann man MongoRepository anpassen, ohne die kommentierten @Query-Methoden in der Schnittstelle zu überschreiben?

Sie müssen Ihre Repository-Schnittstelle in zwei Teile aufteilen.

Die erste - "Benutzerdefiniert", die Methoden enthält, die Sie manuell implementieren, wäre:

public interface TopRepositoryCustom {
    long getPublishedTopoCount();
}

Zweite für generierte Methoden:

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

Dann müssen Sie nur noch das erste Repository implementieren und daran denken, die richtige Namenskonvention einzuhalten. Weitere Informationen finden Sie unter:spring-data mongodb benutzerdefinierte Implementierung PropertyReferenceException und Spring Data MongoDB Referenz für benutzerdefinierte Implementierungen