Цитировать документацию MariaDB :
Для операторов UPDATE и DELETE блокировка зависит от того, использует ли инструкция уникальный индекс с уникальным условием поиска (например, идентификатор WHERE= 100) или условие поиска типа диапазона (например, WHERE id> 100).Для уникального индекса с уникальным условием поиска InnoDB блокирует только найденную запись индекса , а не промежуток перед ним.Для поиска по типу диапазона InnoDB блокирует сканированный диапазон индекса, используя блокировки пробела или блокировки следующего ключа (разрыв плюс запись индекса), чтобы блокировать вставки другими сеансами в промежутки, охватываемые диапазоном.
Таким образом, поведение по умолчанию для MariaDB (и MySQL) во время обновления заключается в том, что, по крайней мере, конкретная запись будет заблокирована другим процессом, пытающимся ее обновить.В InnoDB, если подходящий индекс недоступен, возможно, будет заблокирована не только запись.На других движках, например, MyISAM, в документации также сказано, что вся таблица может быть заблокирована.
Так что, если Hibernate не выполняет какие-то нестандартные сантехнические работы под капотом, ваша проблема не должна вызывать проблем.Обратите внимание, что я не обсуждал, что произойдет, если другой процесс попытается прочитать строку, которая обновляется.Каждая база данных обрабатывает это по-своему.Но вы не упомянули, что это проблема.