Встречается на собеседованиях • сегодня

Что произойдет если одним методом поменять что-то в БД

Если метод изменяет данные в БД без управления транзакциями, изменения будут сохранены сразу после выполнения SQL-запроса. В случае ошибки после изменений часть данных может остаться измененной, что приведет к несогласованности.

Пример с транзакцией:

java
@Transactional
public void updateData(Entity entity) {
    // Изменения в БД
    repository.save(entity); 
    // Если здесь возникнет исключение, 
    // все изменения откатятся
}

Без транзакции:

java
public void updateData(Entity entity) {
    repository.save(entity); // Изменения сразу сохраняются
    // При ошибке данные уже изменены
}

Ключевые моменты:

  • Изменения фиксируются согласно настройкам транзакции
  • Без транзакции каждый запрос выполняется автономно
  • Исключения могут оставить БД в несогласованном состоянии
  • Для атомарности нужна правильная настройка @Transactional
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы