Junior — Middle
92
Czy używałeś właściwości Version w Hibernate do kontroli wersji podczas tworzenia obiektów?
Firmy, w których zadano pytania
Brainway LTD
Odpowiedź od AI
sobes.tech AI
В Hibernate свойство @Version используется для реализации механизма оптимистической блокировки, который помогает контролировать версии объектов при их обновлении в базе данных. Это предотвращает потерю данных при одновременном изменении одной и той же записи несколькими транзакциями.
Пример использования:
@Entity
public class Product {
@Id
private Long id;
private String name;
@Version
private int version;
// геттеры и сеттеры
}
При каждом обновлении объекта Hibernate автоматически увеличивает значение поля version. Если при сохранении версия в базе не совпадает с версией объекта в памяти, выбрасывается исключение OptimisticLockException, что сигнализирует о конфликте обновлений.