Supposons que le code suivant dans un contrôleur Grails:la désactivation du verrouillage pour Grails non critiques/classes de domaine GORM
def action = {
ClassName o = ClassName.findByFoo(params.foo)
if (o) {
o.counter += 1
}
}
par Grails par défaut utilise le verrouillage optimiste par la colonne version
ajoutée par défaut à toutes les tables de base de données GORM. Toutefois, si un nombre suffisant de multiples demandes simultanées sont envoyées à cette action le mécanisme de verrouillage optimiste va se détériorer à l'exception suivante:
org.hibernate.StaleObjectStateException:
Row was updated or deleted by another transaction (or unsaved-value mapping was
incorrect): [ClassName#id]
Pour les objets de domaine où une mise à jour a échoué/suppression est totalement non critique I J'aimerais désactiver le mécanisme de verrouillage, afin qu'aucune exception StaleObjectStateException ne soit levée. Comment puis-je y parvenir?