我正在尝试在 Spring 中使用 hibernate 进行 sql 查询,我能够成功执行查询,但是如果用户给出具有主键约束的相同用户 ID,或者在 int 参数中给出字符串,我会收到一些错误我想捕获这些异常并发送用户自定义异常,例如主键约束异常、NullValue 异常等
我得到的主键约束错误是:
org.springframework.dao.DataIntegrityViolationException: Could not execute JDBC batch update
有什么方法可以根据错误捕获异常,以便在该特定异常上我可以向用户发送我的自定义错误消息。现在我正在向用户发送捕获的异常错误,但用户不明白错误是什么,所以我想发送自定义错误
有没有办法根据特定错误捕获异常
最佳答案
您可能想看看 Spring ExceptionTranslator ,因为它允许您将 SQLException 转换为 DataAccessException,包括您自己的自定义版本,这将允许您为用户生成带有所需消息的异常。对于您的情况,您可以扩展 HibernateExceptionTranslator ,以获得比默认 Hibernate 实现提供给您的异常更具体的异常。
关于java - 如何捕获 org.springframework.dao.DataIntegrityViolationException : Could not execute JDBC batch update,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32442343/