блокирует таблицу при одновременном обновлении в JPA Hibernate - PullRequest
2 голосов
/ 04 февраля 2012

Я использую Hibernate 3.6.2.

Я сталкиваюсь с проблемой блокировок таблицы при одновременном обновлении таблиц. Есть несколько таблиц, объединенных с внешними ключами. Случается так, что во время выполнения одного обновления следующее обновление ожидает разблокировки. Затем блокировка сохраняется в базе данных, которую нужно убить вручную. Проблема усугубляется, если сотни пользователей пытаются обновить одну и ту же сущность за несколько секунд.

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

Есть ли способ, что эти блокировки будут освобождены после завершения обновления? Или проблема в том, что я делаю flush (), merge () и commit () в одной транзакции?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...