【发布时间】:2012-11-25 18:57:45
【问题描述】:
我正在使用 Spring MVC 和 hibernate 开发一个 Web 应用程序以实现持久性。 鉴于我的 DAO,其中 GenericDao 具有 SessionFactory 成员属性:
@Repository
public class Dao extends GenericDao {
public void save(Object o) {
getCurrentSession().save(o);
}
}
还有一个服务类
@Service
public class MyService {
@Autowired
Dao dao;
@Transactional
public void save(Object o) {
dao.save(o);
}
}
如果发生持久性异常(约束、重复等),我想通知我的用户。据我所知,@Transactional 注释仅在异常冒泡并且事务管理器回滚时才有效,因此我不应该在该方法中处理异常。我应该在哪里以及如何捕获可能在 DAO 中发生的异常,以便我可以直接将其呈现给我的用户,或者将其包含在我自己的异常中?
我想使用spring的事务支持。
【问题讨论】:
标签: java spring hibernate spring-mvc