Выбор ответа Junior JDBC и транзакции обновлено
autoCommit по умолчанию
Вопрос
Что происходит с транзакциями у нового Connection по умолчанию?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: autoCommit включён: каждый запрос коммитится сразу отдельно. По спецификации JDBC новое соединение в режиме autoCommit.
Варианты ответа
- Все запросы копятся в одной транзакции до вызова
commit() - autoCommit включён: каждый запрос коммитится сразу отдельноправильный ответ
- Транзакция открывается при
getConnectionи коммитится приclose - Транзакций нет, пока не задан уровень изоляции
Разбор
По спецификации JDBC новое соединение в режиме autoCommit. Чтобы объединить несколько операций, вызывают setAutoCommit(false), затем commit или rollback. Неявного коммита при close стандарт не обещает (поведение зависит от драйвера), поэтому на него не полагаются.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.