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 :

la classe HibernateUtil ?


Sujet :

Hibernate Java

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 75
    Par défaut la classe HibernateUtil ?
    Bonjour,

    Pourriez vous m'expliquer le code suivant, particulierment la partie débutant par le mot clé static {

    Merci d'avance !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    public class HibernateUtil {
        public static final SessionFactory sessionFactory;
     
        static {
            try {
                // Création de la SessionFactory à partir de hibernate.cfg.xml
                sessionFactory = new Configuration().configure().buildSessionFactory();
            } catch (Throwable ex) {
                // Make sure you log the exception, as it might be swallowed
                System.err.println("Initial SessionFactory creation failed." + ex);
                throw new ExceptionInInitializerError(ex);
            }
        }
     
        public static final ThreadLocal session = new ThreadLocal();
     
        public static SessionFactory getSessionFactory() {
            return sessionFactory;
        }
    }

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

    Informations forums :
    Inscription : Août 2006
    Messages : 3 277
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    static {
            try {
                // Création de la SessionFactory à partir de hibernate.cfg.xml
                sessionFactory = new Configuration().configure().buildSessionFactory();
            } catch (Throwable ex) {
                // Make sure you log the exception, as it might be swallowed
                System.err.println("Initial SessionFactory creation failed." + ex);
                throw new ExceptionInInitializerError(ex);
            }
        }
    Ce bloc static s'exécute au chargement de la classe, c'est à dire à sa premiere utilisation.
    Il se charge de parser le fichier hibernate.cfg.xml ainsi que les fichiers de mappings liés.
    Le resultat de cette opération est l'obention d'un objet sessionFactory duquel on pourra récupérer une session avec laquelel on pourra effectuer le gros du travail: chargement d'objets, requete, etc...

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 75
    Par défaut
    Merci pour ta reponse fr1men.
    C'est justement à propos du bloc static que je m'interrogeais, je me demande comment est-il possible de rassembler des instructions dans une structure autre qu'une méthode?

Discussions similaires

  1. Could not initialize class model.Hibernateutil
    Par RittaB dans le forum Hibernate
    Réponses: 3
    Dernier message: 08/04/2015, 19h42
  2. Réponses: 2
    Dernier message: 08/01/2010, 16h26
  3. probleme avec la classe HibernateUtil
    Par erox44 dans le forum Hibernate
    Réponses: 8
    Dernier message: 15/07/2009, 15h12
  4. classe utilitaire « hibernateUtil.java »
    Par AmineDev9 dans le forum Hibernate
    Réponses: 1
    Dernier message: 12/06/2009, 10h46
  5. Réponses: 31
    Dernier message: 30/03/2006, 17h57

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