覆盖 spring 数据保存方法
Override spring data save method
我创建了一个 BaseRepository,它扩展了 CrudRepository
并带有 @NoRepositoryBean
标记。我所有其他存储库扩展 BaseRepository.
如何覆盖 BaseRepository 中的 save
方法以获得自定义错误消息?例如,我需要捕获所有 DataIntegrityViolationException
以在前端显示一些正确的消息。任何帮助表示赞赏。
更新
例如,如果您创建 Spring 个端点 (@Endpoint
),那么您可以创建一个 class 实现 org.springframework.ws.server.EndpointInterceptor
,您可以在其中监控所有流量。是否有类似的 class 可以监控所有与数据相关的流量?
如我评论中所述,覆盖 'save' 不会实现您的目标。 JPA 可能会在您的所有代码中抛出异常。这是JPA的问题之一。
我想您可以覆盖 Spring 的一些核心方法来实现您的目标,但实际上 Spring 并不是这样工作的。
相反,您基本上注册了您的异常处理,它会根据需要由 Spring 调用。
有an article about this by Baeldung,看起来很有前途,被Google评价很高。
我创建了一个 BaseRepository,它扩展了 CrudRepository
并带有 @NoRepositoryBean
标记。我所有其他存储库扩展 BaseRepository.
如何覆盖 BaseRepository 中的 save
方法以获得自定义错误消息?例如,我需要捕获所有 DataIntegrityViolationException
以在前端显示一些正确的消息。任何帮助表示赞赏。
更新
例如,如果您创建 Spring 个端点 (@Endpoint
),那么您可以创建一个 class 实现 org.springframework.ws.server.EndpointInterceptor
,您可以在其中监控所有流量。是否有类似的 class 可以监控所有与数据相关的流量?
如我评论中所述,覆盖 'save' 不会实现您的目标。 JPA 可能会在您的所有代码中抛出异常。这是JPA的问题之一。
我想您可以覆盖 Spring 的一些核心方法来实现您的目标,但实际上 Spring 并不是这样工作的。
相反,您基本上注册了您的异常处理,它会根据需要由 Spring 调用。
有an article about this by Baeldung,看起来很有前途,被Google评价很高。