Junior — Middle
Avez-vous utilisé la propriété Version dans Hibernate pour le contrôle de version lors de la création d'objets?
sobes.tech IA
Réponse de l'IA
Dans Hibernate, la propriété @Version est utilisée pour implémenter un mécanisme de verrouillage optimiste, qui aide à contrôler les versions des objets lors de leur mise à jour dans la base de données. Cela empêche la perte de données lorsque plusieurs transactions modifient la même ligne simultanément.
Exemple d'utilisation:
@Entity
public class Product {
@Id
private Long id;
private String name;
@Version
private int version;
// getters et setters
}
À chaque mise à jour d’un objet, Hibernate augmente automatiquement la valeur du champ version. Si lors de la sauvegarde, la version dans la base de données ne correspond pas à la version de l’objet en mémoire, une exception OptimisticLockException est levée, signalant un conflit de mise à jour.