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 :

Merge ineffectif en BDD


Sujet :

JPA Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Avril 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 2
    Par défaut Merge ineffectif en BDD
    Bonsoir,

    j'ai un fonctionnement bizarre lorsque je teste la gestion master/slave de mes 2 BDD.

    Lorsque j'effectue un merge sur un bean entity sur l'instance master (lecture et écriture) tout est OK l'opération est réalisée.

    Par contre lorsque j'effectue un merge sur un bean entity sur l'instance slave (lecture seule) = cas où mon appli a basculée en mode dégradé car indispo, le merge ne retourne pas d'erreur mais cependant rien n'est effectué en BDD !
    Un quelconque persist lui retourne bien une erreur comme quoi l'opération n'est pas autorisée (car lecture seule).

    Est-ce un fonctionnement normal ?

    J'ai cherché ce problème sur le forum et sur le net mais n'ai rien trouvé...

    Merci d'avance

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2007
    Messages : 149
    Par défaut
    Bonjour,
    Le comportement est étrange. As tu essayé un flush() juste après ton merge ? Je sais que le persist et le merge ne réagissent pas de la même façon sans transaction (ce qui doit être le cas puisque tu es en lecture seule), et l'instruction update ou insert peut etre zapé par un select juste après.

  3. #3
    Nouveau candidat au Club
    Inscrit en
    Avril 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 2
    Par défaut
    Et paf pile la bonne réponse !

    En ajoutant un flush() juste après ça fonctionne et en lecture/écriture et en lecture seule.

    Je me pose la question tout de même concernant le flush() quand l'appli est en mode lecture/écriture : JPA gère à ce moment là les transactions de manière transparente pour moi ?

    Mais le flush() force le passage de la requête c'est bien cela ? Donc la transaction est fermée, la requête passée, pour les requêtes suivantes une nouvelle transaction sera créée automatiquement ?

    Au final, en mode lecture/écriture donc avec les transactions, 1 requête = 1 transaction ou alors JPA gère x requêtes = 1 transaction ?

    Merci en tout cas pour la réactivité !

Discussions similaires

  1. Quick Report et impression de données hors BDD
    Par gRRosminet dans le forum C++Builder
    Réponses: 8
    Dernier message: 19/08/2002, 09h47
  2. portabilité et BDD
    Par delire8 dans le forum C++Builder
    Réponses: 7
    Dernier message: 04/07/2002, 10h59
  3. connection a une BDD MySql
    Par delire8 dans le forum MFC
    Réponses: 7
    Dernier message: 19/06/2002, 18h18
  4. [BDD] Enregistrer le résultat d'une requête
    Par Mowgly dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/06/2002, 15h26
  5. Probleme de filtre dans bdd
    Par scorpiwolf dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/06/2002, 10h43

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