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 : 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;
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