Accès concurrentiel Optimiste multi-session avec dynamic-update avec Hibernate
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 :
Code:
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; |
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]
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