【发布时间】:2015-11-09 12:33:01
【问题描述】:
我想知道在数据访问对象中处理异常的最佳方式是什么,我对生产质量代码感兴趣。
举个例子
public UserDaoImpl implements UserDao{
@PersistenceContext
private EntityManager em;
void save(User user){
em.persist(user);
}
User getById(long id){
return em.find(User.class,id);
}
}
假设我在某个地方有一个 RegisterService,有时我想将用户保存到数据库中。并且每个用户都需要有一个唯一的电子邮件。 您如何检查以及此代码在哪里? 我们是否在保存之前使用查询检查是否有用户使用该电子邮件已在保存方法中?或者该代码是否用于服务?或者,也许我们试图捕捉一些异常?
但据我所知,除了我们永远无法确定发生了什么的异常,我们可以尝试捕获一个 ConstraintViolationException ,但这并不能明确告诉我们发生了什么。
它在生产质量代码中的外观如何?
【问题讨论】:
标签: jakarta-ee jpa exception-handling dao rollback