覆盖spring数据保存方法

时间:2017-08-28 10:20:08

标签: spring save spring-data entity

我创建了一个 BaseRepository ,它扩展了CrudRepository并标有@NoRepositoryBean。我所有的其他存储库都扩展了 BaseRepository

如何覆盖 BaseRepository 中的save方法以获得自定义错误消息?例如,我需要捕获所有DataIntegrityViolationException以在前端显示一些正确的消息。任何帮助赞赏。

更新

例如,如果您创建Spring Endpoints(@Endpoint),那么您可以创建一个实现org.springframework.ws.server.EndpointInterceptor的类,您可以在其中监视所有流量。是否有类似的类我可以监控所有与数据相关的流量?

1 个答案:

答案 0 :(得分:1)

如我的评论中所述,重写' save'不会实现你的目标。 JPA可能会在您的代码中抛出异常。这是JPA的问题之一。

我想你可以覆盖Spring的一些核心方法来实现你的目标,但这并不是Spring的工作方式。

相反,您基本上会注册您的异常处理,因此Spring会根据需要调用它。

an article about this by Baeldung,看起来很有前途,并且受到Google的重视。