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

Hibernate Java Discussion :

Session Hibernate -application RCP


Sujet :

Hibernate Java

  1. #1
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2007
    Messages : 13
    Par défaut Session Hibernate -application RCP
    Bonjour, je suis sur le développement d'une application Eclipse RCP, basée sur un framework Spring + Hibernate. Mon application est déployée sur plusieurs postes client et se connecte à un serveur MySQLv5.

    En suivant les étapes suivantes:

    1/ Je lance l'application sur 2 postes client simultanément.

    2/ Je crée un objet (Projet "Test1") dans la BD via mon application sur poste client 1.

    3/ Je crée un objet (Projet "Test2") dans la BD via mon application sur poste client 2.

    4/ Je recrée un objet (Projet "Test3") dans la BD via mon application sur poste client 1.

    Et bien là Hibernate plante et me dit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Duplicate entry '2' for key 'PRIMARY'
    ERROR [AbstractFlushingEventListener : performExecutions] Could not synchronize database state with session
    org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
    J'ai l'impression que ma session sur le poste client 1 n'est pas rafraîchie et considère que le prochain objet à créer possède l'ID '2' (alors que l'ID '2' vient d'être créé sur le poste 2).

    Aurais-je manqué un paramètre de configuration Hibernate ou Spring?
    Merci.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 92
    Par défaut
    pourrais-tu poster ton fichier de mapping, cela nous aiderait pour te répondre ?

  3. #3
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2007
    Messages : 13
    Par défaut
    Le voici en pièce jointe.
    Fichiers attachés Fichiers attachés

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Par défaut
    Cela vient sûrement du generator d'id que tu as utilisé.
    Essaie avec native au lieu de increment.

  5. #5
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2007
    Messages : 13
    Par défaut
    Chapeau bas ça fonctionne avec "native", le "increment" est donc réservé aux applis standalone?

    Merci en tt cas.

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Par défaut
    Disons que l'increment est valable si tu as un seul processus qui modifie la base. Or, dans ton cas, tu as n processus, représentant tes postes clients. Il y a donc bien la désynchronisation dont tu parlais.
    De toute façon, en production, il vaut mieux utiliser native, qui utilisera l'algorithme approprié de la base de données.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 24/11/2005, 11h32
  2. [Sessions] Les sessions multi-applications
    Par brazza dans le forum Langage
    Réponses: 4
    Dernier message: 13/10/2005, 17h53
  3. [Hibernate][Struts] Fermeture des session hibernate
    Par osopardo dans le forum Hibernate
    Réponses: 2
    Dernier message: 22/08/2005, 17h30
  4. [Hibernate][Spring] Session Hibernate initialisée
    Par mauvais_karma dans le forum Hibernate
    Réponses: 12
    Dernier message: 08/08/2005, 13h07
  5. [RCP] Devrais-je développer une application RCP ou un plugin ?
    Par arN34 dans le forum Eclipse Platform
    Réponses: 2
    Dernier message: 23/09/2004, 17h09

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