IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JPA Java Discussion :

Transactions JPA/Spring question!


Sujet :

JPA Java

  1. #1
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 149
    Points : 43
    Points
    43
    Par défaut Transactions JPA/Spring question!
    Hello,

    Petite question,

    Deux users connectés sur un site web.
    Ils souhaitent modifier un article.

    Si le premier utilisateur modifie le titre "Test" en "Test 2" par exemple, je voudrais que le deuxième user, qui pense que le titre est toujours "Test" ne puisse pas modifier ce titre.... en faisant un rollback...

    C'est possible de détecter ça au moment de la transaction?

  2. #2
    Membre actif Avatar de Sceener
    Inscrit en
    Mai 2007
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 231
    Points : 228
    Points
    228
    Par défaut
    je ne pense pas que ça soit détectable , les locks sont gérés au niveau SGBD.
    La sagesse des hommes ne tient pas à leur expérience, mais à leur aptitude à l'expérience.


  3. #3
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 149
    Points : 43
    Points
    43
    Par défaut
    Ok c'est bien ce qu'il me semblait!
    Merci à toi

    Autre question
    Comment je peux tester sinon que ma transaction fonctionne bien sur un site web?
    Car pas évident de lancer deux modifications en même temps

  4. #4
    ndp
    ndp est déconnecté
    Membre actif Avatar de ndp
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 227
    Points : 255
    Points
    255
    Par défaut
    salut,
    Citation Envoyé par Sceener Voir le message
    je ne pense pas que ça soit détectable , les locks sont gérés au niveau SGBD.
    -> Optimistic Offline Lock
    tu peux tres bien gerer ca

  5. #5
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 149
    Points : 43
    Points
    43
    Par défaut
    Peux tu expliquer rapidement stp?

    Merci

  6. #6
    ndp
    ndp est déconnecté
    Membre actif Avatar de ndp
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 227
    Points : 255
    Points
    255
    Par défaut
    oui bien sur
    tres rapidement:
    offline: tu ne gardes pas de session ouverte parce ce qu'elle pourrait durer trop longtemp
    optimistic:
    tu veux enchainer la sequence suivante
    read/modify/update
    tu est optimist et tu supposes que tu as de forte chance de reussir (par exp: pas beaucoup de concurrence) et donc l'idee c'est de pouvoir mettre a jour les donnees a la condition qu'elles n'ont pas changees entre temps.
    Si elles ont change tu geres une exception pour faire un rollback.
    Pour savoir si ta donnee a changee, tu peux, au niveau de ta donnee, gerer un numero de version, ou alors garder l'etat anterieur de ta donnee.

    la bonne nouvelle, c'est que c'est tres bien pris en charge par les framework (Hibernate c'est sur)

  7. #7
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 149
    Points : 43
    Points
    43
    Par défaut
    Ok merci je vais me débrouiller pr gérer ça autrement j'ai plus simple!

    Merci à toi je retiens quand meme pr la suite...

    Par contre tu sais comment je peux faire pour tester mes transactions, à savoir, deux personnes ne peuvent pas modifier en meme temps une même ligne?

    mais là je parle vraiment en même temps

  8. #8
    ndp
    ndp est déconnecté
    Membre actif Avatar de ndp
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 227
    Points : 255
    Points
    255
    Par défaut
    Citation Envoyé par Ylias Voir le message
    Ok merci je vais me débrouiller pr gérer ça autrement j'ai plus simple!...
    Mon explication n'est surement pas des plus claires ca peux paraitre complique, mais en pratique c'est tres simple a gerer, parce que c'est un probleme ultra classique et bien pris en charge
    jette un coup d'oeil a la doc d'hibernate par exp.
    http://www.hibernate.org/5.html

    Citation Envoyé par Ylias Voir le message
    ...
    Par contre tu sais comment je peux faire pour tester mes transactions, à savoir, deux personnes ne peuvent pas modifier en meme temps une même ligne?

    mais là je parle vraiment en même temps
    un premier test simple mais limite: tu ouvres plusieurs navigateurs.
    Apres, comme tu ne pourras pas manuellement faire des actions en meme temps, il faudra que tu developpes une classe de test qui te mettra dans une situation ou il y aura suffisament de concurrence pour augmenter les chances que cela se produise.

Discussions similaires

  1. [Data] JPA & Spring & Spring-WS : impossible d'avoir une transaction
    Par Ernesto_X dans le forum Spring
    Réponses: 5
    Dernier message: 29/09/2011, 19h53
  2. Gestion des transactions avec Spring-JPA ?
    Par kyf80 dans le forum JPA
    Réponses: 0
    Dernier message: 26/12/2010, 23h37
  3. Réponses: 2
    Dernier message: 11/08/2008, 22h47
  4. Réponses: 7
    Dernier message: 07/08/2008, 11h39
  5. [Data] gestion des transactions avec Spring Probleme
    Par mouvma dans le forum Spring
    Réponses: 2
    Dernier message: 02/04/2008, 20h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo