1
在Spring中,JPA,Hibernate項目我試圖讓異常處理工作。對於下面的代碼:Spring EntityManager休眠異常處理
@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();
}
}
我試圖抓住潛在的休眠/ JDBC/DB異常(例如,當實體依賴仍然存在刪除將失敗,org.springframework.orm.hibernate3.HibernateJdbcException)並執行一些操作。但是,捕獲代碼永遠不會到達(在調試器中檢查)。
我想這與春季管理這個辦法的事,但我不知道,我只是如何em.remove()中捕捉異常......
任何幫助表示讚賞!
謝謝!添加em.flush()會導致異常處理程序被捕獲,所以這解決了我的問題。 – Tom 2011-01-29 22:12:30