我不确定我的标题是否足够明确。这就是我的意思。我正在使用spring 3.0.5 + hibernate 3.6.1.RELEASE
with JPA annotation
using开发一个 Web 应用程序sessionFactory
。该应用程序允许用户使用username
和email
注册password
。
用户可以使用(username or email)
和登录password
。我正在尝试找到一种可靠的方法来判断存在一个独特的约束异常,表示为
java.sql.BatchUpdateException: Duplicate entry 'myusername' for key 'USERNAME'
或者org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
如果我能得到一个特定的例外,我可以通知用户他的用户名或电子邮件已经被占用。
我想到的是在检查之前进行选择,但这对我来说听起来不对。还有其他解决方案吗?最佳做法是什么?
感谢您阅读本文