gpt4 book ai didi

java - 捕获 Hibernate/JPA/Session 唯一键重复异常的最佳实践

转载 作者:行者123 更新时间:2023-11-29 10:18:48 26 4
gpt4 key购买 nike

我不确定我的标题是否足够明确。这就是我的意思。我正在使用 spring 3.0.5 + hibernate 3.6.1.RELEASE 和使用 sessionFactoryJPA annotation 开发 Web 应用程序>.该应用程序允许用户使用用户名电子邮件密码 进行注册。

用户可以使用(用户名或电子邮件)密码 登录。我正在尝试找到一种可靠的方法来判断是否存在表示为

的独特约束异常

java.sql.BatchUpdateException: Duplicate entry 'myusername' for key 'USERNAME' or org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update

如果我能得到一个特定的异常,我可以通知用户他的用户名或电子邮件已被占用。

我想到的是在检查之前先进行选择,但这对我来说听起来不对。还有其他解决方案吗?最佳做法是什么?

感谢阅读本文

最佳答案

实际上,最佳做法是在创建新用户时检查具有该用户名/电子邮件地址的用户是否已经存在。如果确实如此,则返回一些内容以指示失败,否则创建用户。

通常,您不应依赖数据库约束来执行业务规则。

关于java - 捕获 Hibernate/JPA/Session 唯一键重复异常的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10774014/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com