Встречается на собеседованиях • сегодня
Как избежать одновременную перезапись результата предыдущего изменения с помощью Hibernate
Используйте оптимистичную блокировку (optimistic locking) через аннотацию @Version. Hibernate автоматически проверяет версию сущности перед обновлением и выбрасывает OptimisticLockException, если версия изменилась.
java
@Entity
public class Product {
@Id
private Long id;
@Version
private int version;
// другие поля
}Альтернатива - пессимистичная блокировка (pessimistic locking), которая блокирует запись на уровне БД:
java
Product product = session.find(Product.class, 1L,
LockModeType.PESSIMISTIC_WRITE);Оптимистичная блокировка лучше для read-heavy приложений, пессимистичная - для write-heavy.

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