Junior — Middle
97
Ați folosit proprietatea Version în Hibernate pentru controlul versiunilor la crearea obiectelor?
Companiile au fost întrebate
Brainway LTD
Răspuns de la AI
sobes.tech AI
В Hibernate свойство @Version используется для реализации механизма оптимистической блокировки, который помогает контролировать версии объектов при их обновлении в базе данных. Это предотвращает потерю данных при одновременном изменении одной и той же записи несколькими транзакциями.
Пример использования:
@Entity
public class Product {
@Id
private Long id;
private String name;
@Version
private int version;
// геттеры и сеттеры
}
При каждом обновлении объекта Hibernate автоматически увеличивает значение поля version. Если при сохранении версия в базе не совпадает с версией объекта в памяти, выбрасывается исключение OptimisticLockException, что сигнализирует о конфликте обновлений.