org.hibernate.StaleStateException: пакетное обновление вернуло неожиданное количество строк из обновления [0]; фактическое количество строк: 0; ожидается: 1

Я использую эту сторону контроллера:

    redirect(uri: request.getHeader('referer') )
26
задан Draken 10 September 2017 в 22:25
поделиться

4 ответа

В файле отображения Hibernate для свойства id, если вы используете какой-либо класс генератора, для этого свойства не следует явно устанавливать значение с помощью метода установки.

Если вы установите значение свойства Id явно, это приведет к ошибке выше. Отметьте это, чтобы избежать этой ошибки.

47
ответ дан 20 November 2019 в 07:29
поделиться

Что я испытал, так это то, что это исключение возникает при обновлении объекта с идентификатором, которого нет в таблице. если вы читаете сообщение об исключении, оно говорит: «Пакетное обновление вернуло неожиданное количество строк из обновления [0]; фактическое количество строк: 0; ожидается: 1», что означает, что не удалось найти запись с заданным вами идентификатором.

Чтобы избежать этого, я всегда читаю запись с одним и тем же идентификатором, если я нашел запись назад, тогда я вызываю update, в противном случае выдается «исключительная запись не найдена».

3
ответ дан 20 November 2019 в 07:29
поделиться

Похоже, когда вы пытаетесь удалить тот же объект, а затем снова обновить тот же объект, то это выдает вам эту ошибку. Как и после каждого обновления hibernate для безопасной проверки запускается, сколько строк было обновлено, но во время кода данные должны были быть удалены. Здесь hibernate различает объекты на основе ключа, который вы присвоили, или метод equals.

Итак, просто пройдите один раз через код для этой проверки или попробуйте реализовать equals & amp; Правильный метод хеширования, который может помочь.

1
ответ дан 20 November 2019 в 07:29
поделиться

У меня было то же самое. Создание Id (0) с помощью команды «(значение вашей модели) .setId (0)» решило мою проблему.

0
ответ дан 20 November 2019 в 07:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: