2010-03-15 2 views
2

J'ai mis en œuvre le verrouillage optimiste pour les situations de concurrence. J'ai utilisé la propriété version dans les fichiers de mappage pour lier un entier.NHibernate remplace la concurrence dans le scénario optimiste

Mon but est que si un utilisateur essaye de sauvegarder un objet obsolète, il aura l'option d'écraser les changements.

J'ai facilement réussi à faire en sorte que SaveOrUpdate lève une exception, mais comment l'écraser maintenant pour que l'utilisateur actuel écrase l'objet persistant existant, tout en mettant à jour le numéro de version, et sans faire une copie manuelle-sage des variables dans l'objet non-stale? Cela semble être un scénario logique normal, mais je ne vois pas de mécanisme intégré pour cela. Est-ce un anti-pattern?

Merci pour votre aide et votre perspicacité.

Amitiés

LJ

Répondre

1

Je pense que vous devriez regarder dans la méthode Session.merge.

Jide

Questions connexes