Sobes.tech
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.