2013-09-30 5 views
0

Я использую весеннюю транзакционную аннотацию на уровне сервиса. Всякий раз, когда генерируется исключительное исключение ограничения, фактическое исключение возникает только во время транзакции не в то время, когда мы делаем entity.saveОшибка ограничения пружины происходит только при фиксации

Из-за этого я не могу поймать исключение и выбросить свое обычное исключение для уникального ограничения (Я не хочу, чтобы использовать функцию транслятора пружинного исключения, так как мне нужно дополнительные данные, которые будут установлен в исключении)

Позвольте мне знать, если кто-нибудь сталкивались этим вопрос

Благодарности

+0

Сообщите мне, если кто-то столкнулся с этой проблемой. Я тоже столкнулся с этой проблемой. –

ответ

0

Это выглядит как нормальное поведение для меня. Это происходит только тогда, когда транзакция выполняется против базы данных, которая может быть обнаружена с помощью уникального ограничения. Когда вы делаете enity.save(), ORM, который вы используете (спящий режим?), Может обнаруживать только уникальное ограничение, если оно имеет другой объект с тем же уникальным ограничением в памяти.

Следующий пост Best practise propagating Unique Violation Exceptions to UI кажется весьма связанным с вашим вопросом.

Надеюсь, что это поможет

Смежные вопросы