Ошибки при очистке в Hibernate, когда у меня есть ошибки в MySQLJAVA

Программисты JAVA общаются здесь
Гость
Ошибки при очистке в Hibernate, когда у меня есть ошибки в MySQL

Сообщение Гость »


Я реализую решение с помощью Grails для пакетной фиксации, но столкнулся с проблемой, когда правила базы данных установлены напрямую. Например, если у меня есть столбец «имя», настроенный как уникальный, и я пытаюсь сохранить уже существующие данные, транзакция не может быть зафиксирована, даже если я обрабатываю ошибки вручную (используя try/catch). Это предотвращает пакетное решение с индивидуальным контролем ошибок.

Я проверил некоторые возможности, используя аннотацию @transaction со свойством noRollbackFor и используя исключения, сообщаемые в консоли. Однако поддерживать другие итерации в рамках одной транзакции было недостаточно. Я также протестировал функцию точек сохранения, сохраняя точку до того, как произошла ошибка, и в случае возникновения ошибки я откатился к «чистой» точке. Тем не менее, «очистить» исключение транзакции было недостаточно.

Ошибка:

org.hibernate.AssertionFailure: нулевой идентификатор в записи com.pacage.Domain (не очищать сеанс после возникновения исключения) Эта ошибка возникает только в конце моего метода, когда транзакция сбрасывается.

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

Вернуться в «JAVA»