Я использую Hibernate 3.6.2.
Я сталкиваюсь с проблемой блокировок таблицы при одновременном обновлении таблиц. Есть несколько таблиц, объединенных с внешними ключами. Случается так, что во время выполнения одного обновления следующее обновление ожидает разблокировки. Затем блокировка сохраняется в базе данных, которую нужно убить вручную.
Проблема усугубляется, если сотни пользователей пытаются обновить одну и ту же сущность за несколько секунд.
Что происходит ниже, так это то, что при обновлении этой сущности Hibernate запускает обновления, затем следует удаление, а затем вставка. Я удаляю объекты из сущности, затем делаю flush (). Затем я добавляю новые объекты в сущность, выполняю merge () и затем commit () в одной транзакции.
Есть ли способ, что эти блокировки будут освобождены после завершения обновления? Или проблема в том, что я делаю flush (), merge () и commit () в одной транзакции?