【发布时间】:2017-12-13 11:56:43
【问题描述】:
我在某些字段中有一个带有唯一约束的简单注册,我想在.jsp 页面中处理带有友好消息的唯一异常,但我不知道我应该在 catch 块中涉及哪个异常。当我尝试使用重复字段注册用户时,我进入控制台:
Dec 13, 2017 12:35:10 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper
logExceptions
WARN: SQL Error: 1062, SQLState: 23000
Dec 13, 2017 12:35:10 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper
logExceptions
ERROR: Duplicate entry 'admin1' for key 'username'
Dec 13, 2017 12:43:37 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper
logExceptions
WARN: SQL Error: 1062, SQLState: 23000
Dec 13, 2017 12:43:37 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper
logExceptions
ERROR: Duplicate entry 'edek' for key 'PRIMARY'
处理:
try
{
userService.registerUser(userAccount);
}
catch(?)
{
// something like :
return new ModelAndView("register","uniqueErrorMessage",message);
}
【问题讨论】:
-
你尝试捕捉
Exception本身吗? -
嗯,好的,它有效,但我想区分哪个字段打破了唯一约束以显示清晰的信息。如果发生任何其他与唯一约束无关的 sql 异常,这将产生误导。
标签: hibernate jsp spring-mvc exception unique-constraint