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

Persistance des données Java Discussion :

Impossible d'utiliser les annotations avec hibernate 4.2


Sujet :

Persistance des données Java

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2013
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Impossible d'utiliser les annotations avec hibernate 4.2
    Bonjour à tous,

    je fais appelle a vous car j'ai besoin de votre aide par rapport a hibernate 4.2.
    Je n'arrive pas a utiliser les annotations avec cette version, j'ai beau regarder dans la documentation officielle d'hibernate, je n'ai rien trouvé qui aurait pu résoudre mon probleme. Meme en faisant des recherche sur internet, je n'ai rien trouvé .


    Le probleme est que je n'arrive pas a enregistrer les données dans la BDD. Lorsque je tente de sauvegarder une donnée, j'ai cet ensemble d'erreurs qui s'affiche :

    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    nov. 01, 2013 8:49:33 PM org.apache.catalina.core.ApplicationContext log
    SEVERE: StandardWrapper.Throwable
    java.lang.ExceptionInInitializerError
    	at com.testhibernate.servlet.IndexServlet.init(IndexServlet.java:37)
    	at javax.servlet.GenericServlet.init(GenericServlet.java:160)
    	at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280)
    	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193)
    	at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:865)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:136)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
    	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.NullPointerException
    	at org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl.getConnection(DriverManagerConnectionProviderImpl.java:214)
    	at org.hibernate.engine.jdbc.internal.JdbcServicesImpl$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcServicesImpl.java:242)
    	at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:117)
    	at org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:76)
    	at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:160)
    	at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:132)
    	at org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1822)
    	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1780)
    	at com.testhibernate.util.HibernateUtils.<clinit>(HibernateUtils.java:28)
    	... 19 more
     
    nov. 01, 2013 8:49:33 PM org.apache.catalina.core.StandardWrapperValve invoke
    SEVERE: Exception lors de l'allocation pour la servlet com.testhibernate.servlet.IndexServlet
    java.lang.NullPointerException
    	at org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl.getConnection(DriverManagerConnectionProviderImpl.java:214)
    	at org.hibernate.engine.jdbc.internal.JdbcServicesImpl$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcServicesImpl.java:242)
    	at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:117)
    	at org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:76)
    	at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:160)
    	at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:132)
    	at org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1822)
    	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1780)
    	at com.testhibernate.util.HibernateUtils.<clinit>(HibernateUtils.java:28)
    	at com.testhibernate.servlet.IndexServlet.init(IndexServlet.java:37)
    	at javax.servlet.GenericServlet.init(GenericServlet.java:160)
    	at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280)
    	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193)
    	at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:865)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:136)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
    	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)



    voici le code source des elements concernés :

    hibernate.cfg.xml :

    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
    37
    38
    39
    40
    41
     
    <?xml version="1.0" encoding="UTF-8"?>
     
    <!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
     
    <hibernate-configuration>
     
    	<session-factory>
     
    		<!-- Database connection settings -->
    		<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
    		<property name="connection.url">jdbc:mysql:3306://localhost/testhibernatedb</property>
    		<property name="connection.username">a</property>
    		<property name="connection.password">a</property>
     
    		<!-- JDBC connection pool (use the built-in) -->
    		<property name="connection.pool_size">1</property>
     
    		<!-- SQL dialect -->
    		<property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
     
    		<!-- Enable Hibernate's automatic session context management -->
    		<property name="current_session_context_class">thread</property>
     
    		<!-- Disable the second-level cache -->
    		<property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property>
     
    		<!-- Echo all executed SQL to stdout -->
    		<property name="show_sql">true</property>
     
    		<!-- Drop and re-create the database schema on startup -->
    		<property name="hbm2ddl.auto">create</property>
     
     
    		<mapping class="com.testhibernate.entity.Article" />
     
    	</session-factory>
     
    </hibernate-configuration>
    voici la class HibernateUtils :

    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
    37
    38
    package com.testhibernate.util;
     
     
     
    import org.hibernate.HibernateException;
    import org.hibernate.SessionFactory;
    import org.hibernate.cfg.Configuration;
    import org.hibernate.service.ServiceRegistry;
    import org.hibernate.service.ServiceRegistryBuilder;
     
     
     
     
     
    public class HibernateUtils {
     
    	private static final SessionFactory sessionFactory;
    	private static final ServiceRegistry serviceRegistry;
     
    	// Crée une unique instance de la SessionFactory à partir de hibernate.cfg.xml
    	static {
    		try {
     
    			Configuration configuration = new Configuration();
    			configuration.configure("hibernate.cfg.xml");
     
    			serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
    			sessionFactory = configuration.buildSessionFactory(serviceRegistry);
    		} catch (HibernateException ex) {
    			throw new RuntimeException("Problème de configuration : " + ex.getMessage(), ex);
    		}
    	}
     
    	// Renvoie une session Hibernate
    	public static SessionFactory getSessionFactory() throws HibernateException {
    		return sessionFactory;
    	}
    }

    et le moment ou j'enregistre la donnée :

    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 void persist(Article article) {
    		// TODO Auto-generated method stub
     
    		try
    		{
    			session = sessionFactory.getCurrentSession();
     
    			session.beginTransaction();
    			session.save(article);
    			session.getTransaction().commit();
    		}
    		catch(Exception e)
    		{
    			System.out.println("une erreur s'est produite lors de l'enregistrement");
    		}
    		finally
    		{
    			session.close();
    		}
     
    	}
    cela fait 2 jours que je suis deçu et très franchement je n'y comprend plus rien.

    Je vous remercie d'avance pour l'aide que vous m'apporterez.

  2. #2
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2013
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    le problème viendrait au moment de l'obtention d'une sessionFactory à la ligne 28 de HibernateUtils.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2013
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    j'ai résolu mon probleme. Le probleme venait de cette ligne dans le fichier hibernate.cfg.xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <property name="connection.url">jdbc:mysql:3306://localhost/testhibernatedb</property>
    il fallait faire comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <property name="connection.url">jdbc:mysql//localhost:3306/testhibernatedb</property>
    une faute d'inattention qui m'a couté 2 jours de recherche lol.
    Merci à tous.

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

Discussions similaires

  1. utiliser les annotations avec JSF 2.0
    Par apiflo dans le forum JSF
    Réponses: 2
    Dernier message: 28/04/2010, 15h11
  2. Utiliser les Streams avec TSocket
    Par francky23012301 dans le forum Web & réseau
    Réponses: 8
    Dernier message: 02/05/2006, 23h07
  3. [XSL]Impossible d'utiliser les fonctions XPath 2.0
    Par cvmz dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 27/03/2006, 19h19
  4. [CF][PPC/VB.NET] Comment utiliser les Socket avec Pocket PC ?
    Par joefou dans le forum Windows Mobile
    Réponses: 5
    Dernier message: 17/05/2005, 14h24

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