При использовании Spring @ Transactional, кто в конечном итоге работает с изоляцией и распространением, Springframework или база данных? - PullRequest
0 голосов
/ 12 декабря 2018

Что происходит: каркас сообщает базе данных о начале транзакции и использует уровень изоляции, установленный в @Transaction, или каркас обрабатывает все, и база данных ничего об этом не знает?

И если база данных выполняет свою работу, что произойдет, если вы установите изоляцию в @Transactional на уровень, который база данных не поддерживает, например, установите для него значение Repeatable Read, но база данных является оракулом?

1 Ответ

0 голосов
/ 12 декабря 2018

платформа сообщает базе данных, что нужно начать транзакцию и использовать уровень изоляции, установленный в @ Transactional

yes

, что произойдет, когда вы установите изоляциюв @Transactional до уровня, который база данных не поддерживает

В конце концов, она сводится к установке уровня изоляции соединения JDBC, возвращаемого драйвером JDBC.Я не уверен, есть ли в спецификации строгие правила (javadoc не сильно помогает), но я предполагаю, что SQLException будет (или, по крайней мере, должно) генерироваться драйвером JDBC.Попробуйте, и вы увидите.

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