@Transactional rollback对于问题

时间:2011-03-24 22:36:50

标签: java hibernate spring jpa

假设我在我的服务层中标记方法@Transactional(rollbackFor = PersistenceException.class)并在方法中有如下的catch块。

try{
    serverStore.update(persistableObject);
     } catch (PersistenceException e) {

}

我是否会捕获PersistenceException?

我问,因为我所守护的持久性异常是一个间歇性的死锁问题,我不知道自从这次改变后我是否还没有复制它,或者它不应该出现。

1 个答案:

答案 0 :(得分:3)

这取决于您如何刷新会话(实体管理器)。默认情况下,我认为,在提交事务时它将获得刷新,因此您将无法捕获该方法中的异常。