2015-12-18 14 views
7

Vorrei aggiungere del codice nel metodo di salvataggio in CrudRepository ma mantenere la funzionalità originale. Dopo che il metodo di salvataggio dovrebbe eseguire le operazioni precedenti, salvarlo nel repository, ma eseguire ulteriormente azioni aggiuntive. È possibile? Se sì, come potrei farlo correttamente?Spring: sovrascrivi il metodo di salvataggio in CrudRepository

Grazie in anticipo per eventuali suggerimenti

Modifica

Quindi, vorrei creare metodo come questo:

@Override 
public default <S extends MyClass> S save(S myClassItem) { 
    //here my functionality 
    super.save(myClassItem); //from CrudRepository 
    return myClassItem; 
} 
+0

Hai il tuo repository crud giusto? O è da un barattolo? –

+0

Estendi CrudRepo, sostituisci il metodo di salvataggio e chiama super (args) sul repository padre .... In breve – Mechkov

+3

Sei sicuro che il codice debba essere inserito nel metodo di salvataggio e non nel metodo di servizio che stai utilizzando? Cosa vuoi aggiungere? –

risposta

0

non credo sia possibile super-utente in tale un metodo (predefinito e sovrascritto). Quindi devi cambiare il nome del metodo - che potrebbe non essere esattamente quello che stai cercando:

public interface TestRepository extends CrudRepository<MyClass, String> { 

    default MyClass mySave(MyClass myClassItem) { 
     save(myClassItem); 
     return myClassItem; 
    } 
} 
Problemi correlati