Выбор ответа Junior JDBC и транзакции обновлено

autoCommit по умолчанию

Вопрос

Что происходит с транзакциями у нового Connection по умолчанию?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: autoCommit включён: каждый запрос коммитится сразу отдельно. По спецификации JDBC новое соединение в режиме autoCommit.

Варианты ответа

  1. Все запросы копятся в одной транзакции до вызова commit()
  2. autoCommit включён: каждый запрос коммитится сразу отдельноправильный ответ
  3. Транзакция открывается при getConnection и коммитится при close
  4. Транзакций нет, пока не задан уровень изоляции

Разбор

По спецификации JDBC новое соединение в режиме autoCommit. Чтобы объединить несколько операций, вызывают setAutoCommit(false), затем commit или rollback. Неявного коммита при close стандарт не обещает (поведение зависит от драйвера), поэтому на него не полагаются.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.