Это моя книга. Java
она имеет
@ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private BookPeriodEnd period;
Я хочу удалить объект книги.
После нее
bookRepository.delete(book);
Удаляет, но выдает ошибку и не удаляет из bookperiodend
:
org.springframework.orm.ObjectOptimisticLockingFailureException: пакетное обновление вернуло неожиданное количество строк из обновления [0];фактическое количество строк: 0;ожидается: 1;вложенным исключением является org.hibernate.StaleStateException: пакетное обновление вернуло неожиданное количество строк из обновления [0];фактическое количество строк: 0;ожидается: 1
также это
INTERNAL_SERVER_ERROR (PERSISTENCE_DATAACCESS_EXCEPTION) - ObjectOptimisticLockingFailureException: пакетное обновление вернуло неожиданное количество строк из обновления [0];фактическое количество строк: 0;ожидается: 1;вложенным исключением является org.hibernate.StaleStateException: пакетное обновление вернуло неожиданное количество строк из обновления [0];фактическое количество строк: 0;ожидается: 1 (Пакетное обновление вернуло неожиданное количество строк из обновления [0]; фактическое количество строк: 0; ожидается: 1) org.springframework.orm.ObjectOptimisticLockingFailureException: Пакетное обновление вернуло неожиданное количество строк из обновления [0];фактическое количество строк: 0;ожидается: 1;вложенным исключением является org.hibernate.StaleStateException: пакетное обновление вернуло неожиданное количество строк из обновления [0];фактическое количество строк: 0;ожидается: 1
до ошибки, он выводит эти запросы:
Hibernate: delete from book where id=? and version=?
Hibernate: delete from book_period_end where id=? and version=?
, но в конце концов удаляет только книгу.
Почему это так?