Встречается на собеседованиях • сегодня
Что такое @Version в JPA
Аннотация @Version в JPA используется для оптимистичной блокировки (optimistic locking). Она позволяет предотвратить конфликты при одновременном изменении одной и той же сущности разными транзакциями.
Принцип работы:
- Поле с
@Versionавтоматически увеличивается при каждом обновлении сущности - Если версии в БД и в обновляемом объекте не совпадают - выбрасывается
OptimisticLockException
Пример:
java
@Entity
public class Product {
@Id
private Long id;
@Version
private Long version;
// другие поля
}Особенности:
- Тип поля должен быть
Long,Integer,short,intилиTimestamp - Hibernate проверяет версию при
flush(), а не сразу при изменении - Нельзя изменять версию вручную - это делает JPA провайдер

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