Grails всегда поддерживал колонку версий для реализации оптимистической блокировки Hibernate.При обновлении экземпляра Hibernate генерирует SQL, который сравнивает текущую и предыдущую версию, и выдает исключение, если они различаются.Поскольку SQL null
никогда не может сравниться с чем-либо, любая попытка обновить эти строки вызовет исключение.
Исправление очень простое - просто запустите запрос, чтобы установить нулевые значения в 0, что-то вроде update table_name set version=0 where version is null
.
Как только вы это сделаете, вы должны изменить эти столбцы, чтобы они не были нулевыми, чтобы избежать нулевых значений в будущем.