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

Чем консистентность поддерживается в БД

В Java консистентность в БД обеспечивается механизмами ACID (Atomicity, Consistency, Isolation, Durability). Основные инструменты:

  1. Транзакции (Connection.setAutoCommit(false))
java
try(Connection conn = dataSource.getConnection()) {
    conn.setAutoCommit(false);
    // операции с БД
    conn.commit();
} catch(SQLException e) {
    conn.rollback();
}
  1. Уровни изоляции (Connection.setTransactionIsolation())
java
conn.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
  1. Ограничения (constraints) - PRIMARY KEY, FOREIGN KEY, UNIQUE, CHECK

  2. Оптимистичные/пессимистичные блокировки:

java
// Оптимистичная (JPA)
@Version
private long version;

// Пессимистичная
entityManager.find(User.class, 1, LockModeType.PESSIMISTIC_WRITE);
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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