Я использую Hibernate и Spring, и в настоящее время я застрял с чем-то, что, как я думал, будет очень легко исправить. У меня есть метод обслуживания, подобный этому:
@Transactional
public void deleteObject(ObjectClass object)
{
this.objectClassDAO.delete(object);
}
Мне нужно отобразить дружеское сообщение, когда пользователь пытается удалить объект, связанный с другим объектом. Проблема, с которой я столкнулся, заключается в том, что ConstraintViolationException генерируется до тех пор, пока не будет вызван commit (), который выходит за пределы области действия моего метода службы. Есть ли способ позволить Spring вызывать некоторый промежуточный код в случае определенного исключения, чтобы я мог установить правильное сообщение об ошибке?
Я искал в Google более часа без удачи. Подходы, которые я обнаружил и которые кажутся, по крайней мере, слегка связанными, кажутся излишними и работают на уровне приложений. Есть ли простой способ перехватить исключение после коммита на уровне метода?