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 et Connexion Hibernate [Core]


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 196
    Par défaut Session et Connexion Hibernate
    Bonjour,

    J'essaye d'initialiser ma session hibernate de la façon suivante:

    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
     
    Configuration configuration = new Configuration()
    			.addClass(com.cls.clock.TUpdateParameter.class)
    			.setProperty("hibernate.dialect", "org.hibernate.dialect.Oracle9Dialect")
    			.setProperty("hibernate.connection.driver_class", "oracle.jdbc.OracleDriver")
    			.setProperty("hibernate.connection.url", "jdbc:oracle:thin:@"+ databaseHost + ":1521:" + databaseName))
    			.setProperty("hibernate.connection.username", databaseUser)
    			.setProperty("hibernate.connection.password", databasePassword)
    			//.setProperty("connection.pool_size","10")
    			.setProperty("cache.use_second_level_cache" , "false")
    			.setProperty("cache.provider_class", "org.hibernate.cache.EhCacheProvider")
    			.setProperty("cache.use_query_cache", "false") 
    			.setProperty("show_sql", "false");		
     
    			sessionFactory = configuration.buildSessionFactory();
    Mais j'ai l'erreur suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
    log4j:WARN Please initialize the log4j system properly.
    Exception in thread "main" java.lang.ExceptionInInitializerError
    	at com.cls.clock.HibernateUtil.<clinit>(HibernateUtil.java:85)
    	at com.cls.clock.HibernateTest.main(HibernateTest.java:24)
    Caused by: org.hibernate.cache.NoCachingEnabledException: Second-level cache is not enabled for usage [hibernate.cache.use_second_level_cache | hibernate.cache.use_query_cache]
    	at org.hibernate.cache.impl.NoCachingRegionFactory.buildEntityRegion(NoCachingRegionFactory.java:66)
    	at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:255)
    	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1327)
    	at com.cls.clock.HibernateUtil.<clinit>(HibernateUtil.java:81)
    	... 1 more
    J'ai essayé de jouer avec les paramètres en les changeant de position mais rien ni fait.

    Merci à tous

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

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Soit tu mets cache.use_second_level_cache à false et tu ne renseignes pas ni cache.provider_class ni cache.use_query_cache.
    Soit tu mets cache.use_second_level_cache à true et tu les renseignes.

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 196
    Par défaut
    Merci pour ta réponse.

    nouveau test:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Configuration configuration = new Configuration()
    			.addClass( com.cls.clock.parameter.class )
    			.setProperty( "hibernate.dialect", "org.hibernate.dialect.Oracle9Dialect" )
    			.setProperty( "hibernate.connection.driver_class", "oracle.jdbc.OracleDriver" )
    			.setProperty( "hibernate.connection.url", "jdbc:oracle:thin:@"+ databaseHost + ":1521:" + databaseName )
    			.setProperty( "hibernate.connection.username", databaseUser )
    			.setProperty( "hibernate.connection.password", databasePassword )
    			.setProperty( "cache.use_second_level_cache", "false" );
     
    			sessionFactory = configuration.buildSessionFactory();
    et j'ai la même erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
    log4j:WARN Please initialize the log4j system properly.
    Exception in thread "main" java.lang.ExceptionInInitializerError
    	at com.cls.clock.HibernateUtil.<clinit>(HibernateUtil.java:90)
    	at com.cls.clock.HibernateTest.main(HibernateTest.java:24)
    Caused by: org.hibernate.cache.NoCachingEnabledException: Second-level cache is not enabled for usage [hibernate.cache.use_second_level_cache | hibernate.cache.use_query_cache]
    	at org.hibernate.cache.impl.NoCachingRegionFactory.buildEntityRegion(NoCachingRegionFactory.java:66)
    	at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:255)
    	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1327)
    	at com.cls.clock.HibernateUtil.<clinit>(HibernateUtil.java:82)
    	... 1 more
    Si je fais une connexion avec un fichier xml, ça marche.

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-configuration PUBLIC
    		"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    		"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
    <hibernate-configuration>
     
      <session-factory name="OWNER">
     
        <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
        <property name="hibernate.connection.url">jdbc:oracle:thin:@test:1521:test_G</property>
        <property name="hibernate.connection.username">OWNER</property>
        <property name="hibernate.connection.password">BE62CD_5a9de</property>
     
        <!-- JDBC connection pool (use the built-in) -->
        <property name="connection.pool_size">1</property>
     
        <!-- SQL dialect -->
        <property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
     
        <!-- Enable Hibernate s automatic session context management -->
        <property name="current_session_context_class">thread</property>
     
        <!-- Disable the second-level cache  -->
        <property name="hibernate.cache.use_second_level_cache">false</property>
        <property name="hibernate.cache.use_query_cache">false</property>
        <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
     
        <!-- Echo all executed SQL to stdout -->
        <property name="show_sql">true</property>
     
        <mapping resource="com/cls/clock/parameter.hbm.xml"/>
     
      </session-factory>
     
    </hibernate-configuration>
    avec le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    Configuration configuration = new Configuration().configure("com/cls/clock/hibernate.cfg.xml");
    sessionFactory = configuration.buildSessionFactory();
    là ça marche

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

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    C'est pas du au fait que tu as oublié hibernate devant cache.use_second_level_cache ?
    Et si tu supprimes carrément toute référence aux propriétés de cache, puisque tu ne veux pas l'utiliser.

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 196
    Par défaut
    C'est exact, il faut ajouter le mot hibernate devant les propriétés.

    Merci à toi

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

Discussions similaires

  1. [cURL] Session de connexion ?
    Par Hacken dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 01/12/2007, 14h33
  2. pb connexion hibernate
    Par hosnik dans le forum iReport
    Réponses: 2
    Dernier message: 22/11/2007, 18h29
  3. Probleme connexion hibernate
    Par rosros dans le forum Hibernate
    Réponses: 10
    Dernier message: 12/09/2006, 10h37
  4. connexion/hibernate
    Par enimiste dans le forum Hibernate
    Réponses: 3
    Dernier message: 12/05/2006, 08h42
  5. Réponses: 1
    Dernier message: 06/04/2006, 15h35

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