Встречается на собеседованиях • сегодня
Что такое Pessimistic Locking в Spring
Pessimistic Locking (пессимистичная блокировка) — это механизм, при котором предполагается, что конфликты при доступе к данным вероятны, и запись блокируется на уровне БД до завершения транзакции. В Spring реализуется через @Lock или EntityManager.
Пример с JPA:
java
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
@Lock(LockModeType.PESSIMISTIC_WRITE)
@Query("SELECT u FROM User u WHERE u.id = :id")
User findByIdForUpdate(@Param("id") Long id);
}Особенности:
- Блокировка происходит на уровне БД (SELECT FOR UPDATE в SQL).
- Гарантирует, что другие транзакции не смогут изменить/прочитать данные.
- Может привести к deadlock'ам при неправильном использовании.
- Подходит для высококонкурентных операций с критичными данными.
Используется, когда важно предотвратить одновременное изменение данных, например, в финансовых операциях.

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