Я использую эту сторону контроллера:
redirect(uri: request.getHeader('referer') )
В файле отображения Hibernate для свойства id
, если вы используете какой-либо класс генератора, для этого свойства не следует явно устанавливать значение с помощью метода установки.
Если вы установите значение свойства Id явно, это приведет к ошибке выше. Отметьте это, чтобы избежать этой ошибки.
Что я испытал, так это то, что это исключение возникает при обновлении объекта с идентификатором, которого нет в таблице. если вы читаете сообщение об исключении, оно говорит: «Пакетное обновление вернуло неожиданное количество строк из обновления [0]; фактическое количество строк: 0; ожидается: 1», что означает, что не удалось найти запись с заданным вами идентификатором.
Чтобы избежать этого, я всегда читаю запись с одним и тем же идентификатором, если я нашел запись назад, тогда я вызываю update, в противном случае выдается «исключительная запись не найдена».
Похоже, когда вы пытаетесь удалить тот же объект, а затем снова обновить тот же объект, то это выдает вам эту ошибку. Как и после каждого обновления hibernate для безопасной проверки запускается, сколько строк было обновлено, но во время кода данные должны были быть удалены. Здесь hibernate различает объекты на основе ключа, который вы присвоили, или метод equals.
Итак, просто пройдите один раз через код для этой проверки или попробуйте реализовать equals & amp; Правильный метод хеширования, который может помочь.
У меня было то же самое. Создание Id (0) с помощью команды «(значение вашей модели) .setId (0)» решило мою проблему.