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

Приведи пример изолированности одной транзакции от другой

Изолированность (Isolation) в транзакциях означает, что параллельные транзакции не влияют друг на друга. Пример с уровнем изоляции READ_COMMITTED:

java
// Транзакция 1
entityManager.getTransaction().begin();
User user1 = entityManager.find(User.class, 1L); // Чтение
user1.setName("New Name");                       // Изменение
// Здесь транзакция 2 не увидит изменения, пока эта не завершится
entityManager.getTransaction().commit();

// Транзакция 2
entityManager.getTransaction().begin();
User user2 = entityManager.find(User.class, 1L); // Увидит старое значение
// После коммита транзакции 1 увидит "New Name"
entityManager.getTransaction().commit();

text

Уровни изоляции (READ_UNCOMMITTED, READ_COMMITTED, REPEATABLE_READ, SERIALIZABLE) определяют степень изолированности. Например, SERIALIZABLE полностью изолирует транзакции через блокировки.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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