Я использую Spring и JPA с HIbernate внизу.Когда создается исключение PersistenceException, я хочу перехватить его и вернуть сообщение об ошибке, чтобы оно не было передано вызывающей стороне.
@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.
Я получаю, чтотранзакция должна быть откатана после исключения, но как мне откатить ее, когда я перехватил исключение и не хочу перебрасывать его?