Я использую Grails 2.4.4 и базу данных MySQL. Мы пытаемся клонировать группу таблиц в нашей базе данных, имеющих отношения родитель-потомок. Например, у нас есть автор таблицы с книгой его детской таблицы и книга с иностранным ключом fk_book, указывающим на автора.Исключение оптимистического блокирования с использованием Grails GORM и MySQL
Мы извлекаем иерархию через Author.get(id)
, автор клонирования, связанную с ней книгу и сохраняем с помощью clonedAuthor.save(flush:true)
. У нас есть иерархия нескольких таблиц, подобных этому, у некоторых есть OneToOne, а у некоторых есть отношения OneToMany. В базе данных ограничения внешнего ключа указаны как «УДАЛИТЬ НЕТ ДЕЙСТВИЙ».
Проблема возникает при вызове. Он бросает Оптимистическая блокировка Failure Exception
Row was updated or deleted by another transaction.
Я не получаю, который транзакция обновляет строку, так как у нас есть только одна сделка (только один хит).
пожалуйста, просто опубликовать полное сообщение об ошибке, в приведенном выше сообщении об ошибке отсутствует важная информация, он не показывает, на каком доменном объекте это происходит. – dsharew