транзакции в jdbi - PullRequest
       40

транзакции в jdbi

4 голосов
/ 17 ноября 2011

Я выполняю sql запросы как транзакции, используя функцию jdbi inTransaction (). Я хотел бы знать, как / какой тип механизма блокировки используется внутри. Кроме того, заблокирована ли вся таблица во время транзакции или только запись, которая должна быть обновлена?

Ответы [ 3 ]

8 голосов
/ 01 мая 2012

Транзакция находится исключительно на уровне базы данных.Он будет использовать уровень изоляции по умолчанию для базы данных / соединения, если он не переопределен.

Если вы используете метод inTransaction (...), который принимает обратный вызов, существует форма этой функции, которая позволяет вамустановить уровень изоляции:

<ReturnType> ReturnType inTransaction(TransactionIsolationLevel level,
                                      TransactionCallback<ReturnType> callback)

-Брайан

1 голос
/ 18 ноября 2011

Зависит от уровня изоляции транзакции. Изоляция

0 голосов
/ 18 августа 2017

Вторая часть вашего вопроса «... заблокирована ли вся транзакция во время транзакции или только запись, которую нужно обновить?», Зависит от используемой СУБД.

Вот, например, документация MySQL для блокировки на уровне таблиц и строк: https://dev.mysql.com/doc/refman/5.7/en/internal-locking.html

...