Je vois deux classes de verrouillage en veille prolongée -Devrions-nous utiliser LockOptions à la place de LockMode dans la requête d'hibernation?
LockOptions
LockMode
Quelle est la différence entre les deux? Quand utiliser chacun?
Je vois deux classes de verrouillage en veille prolongée -Devrions-nous utiliser LockOptions à la place de LockMode dans la requête d'hibernation?
LockOptions
LockMode
Quelle est la différence entre les deux? Quand utiliser chacun?
Je n'ai pas de réponse définitive mais pour MySQL le seul moyen de générer une déclaration for update
sql était:
query.setLockOptions(LockOptions.UPGRADE);
Se référant à la session javadoc http://docs.jboss.org/hibernate/orm/4.2/javadocs/, le paramètre LockMode doit être remplacé par LockOptions.
Voici l'extrait du javadoc.
@deprecated charge d'objet (chaîne entityName, id Serialisable, LockMode LockMode) Obsolète. Le paramètre LockMode doit être remplacé par LockOptions Renvoyer l'instance persistante de la classe d'entité donnée avec l'identificateur donné, en obtenant le mode de verrouillage spécifié, en supposant que l'instance existe.
Paramètres:
EntityName - une classe persistante
id - un identifiant valide d'une instance persistante existante de la classe
LOCKMODE - le niveau de verrouillage
Retours:
l'instance persistante ou proxy
Etes-vous sûr? Ou parlez-vous de ce bug? http://stackoverflow.com/questions/3028478/how-to-specify-pessimistic-lock-with-criteria-api – Reddy
Oui, c'est probablement le bug que vous mentionnez. Merci. – cherouvim