Встречается на собеседованиях • сегодня
Для чего нужен SELECT FOR UPDATE
SELECT FOR UPDATE используется в SQL для блокировки строк, которые будут обновляться в транзакции, предотвращая их изменение другими транзакциями до завершения текущей. Это особенно важно в конкурентных средах, чтобы избежать состояния гонки (race condition).
Пример в Java с JDBC:
java
Connection conn = DriverManager.getConnection(...);
conn.setAutoCommit(false);
try {
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM accounts WHERE id = 1 FOR UPDATE");
// Работаем с заблокированной строкой
// ...
conn.commit();
} catch (SQLException e) {
conn.rollback();
}Блокировка снимается при commit/rollback. В JPA аналогично: @Lock(LockModeType.PESSIMISTIC_WRITE).

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