Bonjour
J'aurai souhaité mettre en place un système d'accès concurrentiel optimiste multi-session avec mise a jour seuleument des colonnes modifiées.
Pour ceci, j'ai crée des class avec le mapping suivant :
Deux utilisateurs distincts (avec deux sessions) modifient en même temps les infos de PERSON, l'un ne modifiant que la colonne nom et le second modifiant seulement ma colonne COLOR="red"]prenom[/COLOR]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 @Entity @org.hibernate.annotations.Entity(optimisticLock = OptimisticLockType.DIRTY, selectBeforeUpdate=false,dynamicUpdate = true) @Table(name = "INFA_PERSON") @FXClass(value = "fr.monchemin.domaine.Person", ignoreSuperclasses = { MonDomaine.class }) public class Person extends HibernateProxy implements MonDomaine<Long> { private static final long serialVersionUID = 1L; // -------------------------------------------------------------- Attributs. @Id @GeneratedValue public Long id; @Column(length = 30, nullable = false) private String nom; @Column(length = 20) private String prenom;
Je pensait que les deux modifications seraient prise en compte, hors seule la modification du dernier a valider est prise en compte, comme si hibernate , avant de valider, récuperait les dernières données avant de comparer les colonnes modifiées
Partager