我在下面使用Spring和JPA和HIbernate。拋出PersistenceException時,我想捕獲它並返回錯誤消息,以便它不傳播給調用者。在JPA + Spring中異常後回滾事務
@Transactional
public String save(Object bean) {
String error = null;
try {
EntityManager entityManager = getEntityManager();
for (int i = 0, n = entities.size(); i < n; i ++) {
entityManager.merge(entities.get(i));
}
}
catch (PersistenceException e) {
error = e.getMessage();
}
return error;
}
但我得到一個異常說javax.persistence.RollbackException: Transaction marked as rollbackOnly.
我得到的交易需求異常後回滾,但我怎麼滾回來時,我逮住例外,不想再擲它?
謝謝,無效只是一個錯字,但我仍然得到RollbackException? – 2011-02-22 19:50:38
如何刪除try和catch?國際海事組織沒有理由抓住和處理例外,因爲你無法「修復」它。 – 2011-02-22 19:53:24