Встречается на собеседованиях • сегодня
Работал ли с операторами транзакции в БД
Да, работал. В Java для управления транзакциями обычно используют JDBC или JPA/Hibernate.
JDBC пример:
java
Connection conn = dataSource.getConnection();
try {
conn.setAutoCommit(false); // начинаем транзакцию
// выполняем запросы
PreparedStatement stmt = conn.prepareStatement("UPDATE accounts SET balance = ? WHERE id = ?");
stmt.setInt(1, newBalance);
stmt.setInt(2, accountId);
stmt.executeUpdate();
conn.commit(); // подтверждаем изменения
} catch (SQLException e) {
conn.rollback(); // откатываем при ошибке
} finally {
conn.setAutoCommit(true);
conn.close();
}JPA/Hibernate:
java
EntityTransaction tx = entityManager.getTransaction();
try {
tx.begin();
// операции с сущностями
entityManager.persist(newEntity);
tx.commit();
} catch (Exception e) {
if (tx.isActive()) tx.rollback();
}Ключевые моменты:
setAutoCommit(false)в JDBCcommit()иrollback()- Уровни изоляции (
READ_COMMITTED,REPEATABLE_READи др.) - В Spring можно использовать
@Transactional

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы