Junior — Middle
103
Avez-vous utilisé des annotations @Version dans vos projets pour gérer l'accès concurrent?
Réponse de l'IA
sobes.tech IA
Да, аннотация @Version в JPA используется для реализации оптимистичной блокировки, которая помогает управлять конкурентным доступом к данным. При обновлении сущности фреймворк проверяет, что версия записи в базе совпадает с версией в памяти, предотвращая перезапись изменений, сделанных другими транзакциями.
Пример использования:
@Entity
public class Product {
@Id
private Long id;
@Version
private Integer version;
private String name;
private Double price;
// геттеры и сеттеры
}
При попытке обновить сущность с устаревшей версией будет выброшено исключение OptimisticLockException, что позволяет корректно обработать конфликт обновлений.