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 :

getCurrentSession() : quelle session est renvoyée ?


Sujet :

Hibernate Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 572
    Points : 631
    Points
    631
    Par défaut getCurrentSession() : quelle session est renvoyée ?
    Bonjour,

    Dans mon appli, à chaque fois que quelqu'un se loggue, je récupère mon graphe d'objets, certains directement fetchés, d'autres en lazy loading.

    Au cours des actions de l'utilisateur, il peut consulter des informations, qui ne seront donc chargées qu'à l'appel. De plus, aucun objet ne peut être modifié.

    Du coup, dans ma fonction signIn, j'ouvre une session, que je ne ferme pas (sinon, le lazy loading craque), et pour le signOut, je voudrais fermer cette session. Actuellement, je fais getCurrentSession().close();

    Mais je ne suis pas sur de quelle session est pointée par getCurrentSession().

    En plus je ne suis même pas sur de bien faire : si mille personnes se connectent en même temps, ça va craquer non ?

    Sinon, une autre idée que j'avais, qui contourne le problème sans le résoudre, serait de garder mon pointeur sur la session ouverte dans signIn, pour la close() dans signOut.

    Voila, si quelqu'un pouvait m'aider, je lui en serait reconnaissant.

    Merci

  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
    Cela dépend de la manière dont tu as déclaré tes sessions contextuelles dans ton fichier de configuration.
    Elle peuvent être associées au thread courant, à une transaction JTA, etc...
    Voir la documentation pour bien comprendre ce point.

    Pour moi, une session doit avoir une durée de vie courte, sauf si on ne peut pas faire autrement.

Discussions similaires

  1. Réponses: 6
    Dernier message: 13/04/2015, 09h16
  2. [VB.NET][Datagrid] quelle cellule est AFFICHEE
    Par Golzinne dans le forum Windows Forms
    Réponses: 4
    Dernier message: 16/12/2005, 19h24
  3. Quelle(s) est/sont l'utilité de ROWID ???
    Par snoopy69 dans le forum Oracle
    Réponses: 18
    Dernier message: 29/08/2005, 10h24
  4. Réponses: 2
    Dernier message: 16/10/2003, 18h17

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