Spring EntityManager Hibernate异常处理

在Spring,JPA,Hibernate项目中,我试图让异常处理工作。对于以下代码:
    @Repository("mscoutService")
    public class MScoutServiceImpl implements MScoutService, Serializable {

        @PersistenceContext
        private EntityManager em;

...
        @Override
        @Transactional
        public void deleteMission(Long missionId) {
            try {
                Mission mis = em.find(Mission.class, missionId);
                em.remove(mis);
            } catch (Exception e) {
                handle_exception();
            }
        }
我正在尝试捕获底层的hibernate / jdbc / db异常(例如,当依赖实体仍然存在时,remove将因org.springframework.orm.hibernate3.HibernateJdbcException而失败)并执行一些操作。但是永远不会到达catch代码(在调试器中检查)。 我想这与Spring管理它的方式有关,但我不知道如何在em.remove()期间捕获异常... 任何帮助表示赞赏!     
已邀请:
这是因为刷新会话时发生异常。并且可能在事务提交时(即通过spring代理)刷新。如果要手动冲洗,可以使用
entityManager.flush()
。     

要回复问题请先登录注册