j'ai créé un BaseRepository qui se prolonge CrudRepository
et qui est étiqueté avec @NoRepositoryBean
. Tous mes autres dépôts s'étendent BaseRepository.Remplacer données de ressort sauvegarder méthode
Comment puis-je remplacer la méthode save
dans mon BaseRepository pour avoir des messages d'erreur personnalisés? Par exemple, je dois attraper tous DataIntegrityViolationException
pour montrer un message approprié sur le côté frontal. Toute aide appréciée.
MISE À JOUR
Par exemple, si vous créez Spring Endpoints (@Endpoint
), vous pouvez créer une classe qui implémente org.springframework.ws.server.EndpointInterceptor
où vous pouvez surveiller tout le trafic. Existe-t-il une classe similaire où je peux surveiller tout le trafic lié aux données?
Pourquoi auriez-vous besoin de surcharger la méthode 'save' pour cela? Vous pouvez le faire dans votre service ou simplement utiliser un aspect pour le faire pour vous. –
Et il est en fait impossible de le faire en écrasant la méthode de sauvegarde lors de l'utilisation de JPA, car la sauvegarde peut ne jamais être appelée et les exceptions sont levées lorsque la transaction est validée (vidage du EM) –
Si je le remplace dans mon service, alors je devrait créer un service pour chaque référentiel que j'ai. Peut-être que je n'ai pas besoin de surcharger la méthode save mais une autre classe où passe tout le trafic lié au référentiel. – JamesLinux