Erreur: Ligne a été mis à jour ou supprimé par une autre transaction (ou unsaved-value mapping a été incorrect)
J'ai l'action suivante:
def index() {
User.withNewTransaction {
def user = User.get(params.userId)
user.name = "test"
user.save(flush:true)
response.setContentType("image/gif")
response.outputStream << PIXEL_BYTES_OF_A_GIF_IMAGE
return
}
}
Lors de l'exécution, parfois, j'ai l'erreur suivante:
Message
Executing action [index] of controller [test.TestController] caused exception: Runtime error executing action
Caused by
Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [test.User#1]
Pourquoi cette erreur se produit? J'ai pensé withNewTransaction
permettrait d'éviter cette erreur.
- Vous pouvez jeter un oeil à stackoverflow.com/questions/8645694/...
- Je suis nouveau dans Graal pouvez-vous exmplain cette réponse?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le verrouillage pessimiste
Utilisation:
ou