Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 如何在JPA中区分相同的异常类型_Spring_Jpa - Fatal编程技术网

Spring 如何在JPA中区分相同的异常类型

Spring 如何在JPA中区分相同的异常类型,spring,jpa,Spring,Jpa,当您尝试插入重复实体时,JPA会引发DataIntegrityViolationException。如果字段中的数据太多(例如,字段有1023个字符,但要输入2000),则还会引发DataIntegrityViolationException。当然,我想向用户提供一条适当的错误消息,那么在抛出相同的异常时,区分这两个错误的最佳方法是什么呢 我找到了一种方法,以某种方式解析异常中的消息。但是如果这个更新了怎么办。。。另一种方法是始终在客户机上检查此项。您不需要。在进入数据库之前验证数据。因此,您认

当您尝试插入重复实体时,JPA会引发DataIntegrityViolationException。如果字段中的数据太多(例如,字段有1023个字符,但要输入2000),则还会引发DataIntegrityViolationException。当然,我想向用户提供一条适当的错误消息,那么在抛出相同的异常时,区分这两个错误的最佳方法是什么呢


我找到了一种方法,以某种方式解析异常中的消息。但是如果这个更新了怎么办。。。另一种方法是始终在客户机上检查此项。

您不需要。在进入数据库之前验证数据。因此,您认为我应该始终在客户端的浏览器中检查数据?您在服务器上验证请求,如果验证失败,则返回适当的响应。你需要多读一些关于“捉迷藏”的书。这也会有帮助。此外,如果您使用某些表单等,您有责任限制用户犯此类明显错误。