MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come personalizzare MongoRepository senza sovrascrivere i metodi @Query annotati nell'interfaccia?

Devi dividere l'interfaccia del tuo repository in due.

Il primo:i metodi "Personalizzati" che implementi manualmente sarebbero:

public interface TopRepositoryCustom {
    long getPublishedTopoCount();
}

Il secondo per i metodi generati:

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

Quindi devi solo implementare il primo repository e ricordarti di seguire la convenzione di denominazione corretta. Ulteriori informazioni su:implementazione personalizzata di spring-data mongodb PropertyReferenceException e Spring Data MongoDB Riferimento implementazioni personalizzate