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 :

Hibernate et le cache


Sujet :

Hibernate Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 25
    Points : 23
    Points
    23
    Par défaut Hibernate et le cache
    Bonjour a tous je souhaiterai savoir comment réglé le probleme suivant avec hibernate.

    Lorsque j'insere une entité "Personne" dans ma base de donnée au travers mon application, je peux la retrouver par la méthode list().

    Cependant imaginons que si l'on insere une entité Personne par un autre biais (webapp, ou une autre session hibernate), et que j'effectue un list() dans la premiere session (cité ci dessu ) , la derniere entité n'apparaitra pas . Je suis obligé de quitter et de relancer une session pour la voir apparaitre.

    j'ai comme l'impression que hibernate ne se synchronise pas avec la base quand j'effectue un list().

    pouvez vous m'aider sur ce probleme

    merci d'avance.

  2. #2
    Expert confirmé
    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
    Points : 4 141
    Points
    4 141
    Par défaut
    Tu ne fermes jamais ta session ?
    En général, la session est censée avoir une durée de vie relativement courte.

  3. #3
    Membre éclairé

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 346
    Points : 737
    Points
    737
    Par défaut
    Hibernate a un cache, donc si tu fait une fois un list(), puis une autre webapp fait un insert, puis tu refait un list(), c'est normal que Hibenrate te retourne la même chose.

    Deux option s'offrent à toi : configurer le cache pour qu'il rafraichissent plus souvent ses données (la configuration se fait à la seconde ou la milliseconde prés) ou désactiver le cache.

    Par défault, hiebrnate utilise ehcache, voir le site d'ehcache pour la cofniguration. Sinon, jette un coup d'oeil à la doc d'hibernate ou à un tutoriel (par exemple sur developpez) pour savoir comment désactiver le cache.

  4. #4
    BsT
    BsT est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 72
    Points : 83
    Points
    83
    Par défaut
    Bon je ne sais pas quelle base tu utilises, mais j'ai déjà rencontré ce problème avec MySql et des sessions hibernate longues.

    Il faut que tu changes l'isolation transactionnelle de Mysql (REPEATABLE-READ -> READ-COMMITED)

    Edit : grosso modo tant qu'il n'y a pas de commit tu ne vois pas les modifications des autres connections.

  5. #5
    Expert confirmé
    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
    Points : 4 141
    Points
    4 141
    Par défaut
    A ta place, je ne toucherais pas aux propriétés de Mysql.

    Ce n'est pas un problème lié à Mysql, ni à Hibernate. C'est du à l'utilisation
    de session longue. (j'espère que c'est le cas)
    La session ne peut pas être au courant de ce que font les autres.

    Essaie de rafraichir la session ou de la vider.

  6. #6
    BsT
    BsT est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 72
    Points : 83
    Points
    83
    Par défaut
    Fr1man -> oui tu as raison ce n'est pas bien d'utiliser des sessions longues surtout si c'est pour afficher une liste de personnes.

    Ah le problème du cycle de vie de la session ...

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 25
    Points : 23
    Points
    23
    Par défaut
    merci pour vos réponse . je vais tenter tout cas quand j'aurai 5 min
    je vous tiens au courant
    merci encore !

Discussions similaires

  1. hibernate et le cache
    Par mon_pseudo dans le forum Hibernate
    Réponses: 2
    Dernier message: 15/07/2009, 15h01
  2. Weblogic 8.1 + Hibernate : pb de cache
    Par Christophe P. dans le forum Weblogic
    Réponses: 1
    Dernier message: 17/01/2007, 14h01
  3. Weblogic 8.1 + Hibernate : pb de cache
    Par Christophe P. dans le forum Hibernate
    Réponses: 1
    Dernier message: 17/01/2007, 14h01
  4. [Hibernate] Gérer le cache L2
    Par mauvais_karma dans le forum Hibernate
    Réponses: 2
    Dernier message: 30/08/2005, 11h50
  5. [Hibernate]comprendre la cache sur hibernate
    Par ujoodha dans le forum Hibernate
    Réponses: 16
    Dernier message: 29/08/2005, 09h02

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