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 :

[debutant] Configuration hibernate avec les annotations


Sujet :

Hibernate Java

  1. #1
    Membre chevronné
    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 087
    Points : 1 964
    Points
    1 964
    Par défaut [debutant] Configuration hibernate avec les annotations
    Bonjour,

    Je suis débutant en hibernate et je souhaiterais me mettre directement aux annotations.
    La première étape est donc la configuration de mon projet Eclipse.

    Je suis la documentation
    http://www.hibernate.org/hib_docs/an...single/#d0e754

    Base de donnée MySQL :
    Table : clients
    Champs : client_id (clef primaire), groupe_client


    Classe POJO (je crois que c'est le terme pour la classe beans)

    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
    package com.hibernate;
    import java.io.Serializable;
    import org.hibernate.annotations.Entity;
     
    @Entity
    public class clients implements Serializable{
     
            private static final long serialVersionUID = 1L;
    	int client_id;
     
    	private String groupe_client;
     
    	public int getClient_id() {
    		return client_id;
    	}
    	public void setClient_id(int client_id) {
    		this.client_id = client_id;
    	}
    	public String getGroupe_client() {
    		return groupe_client;
    	}
    	public void setGroupe_client(String groupe_client) {
    		this.groupe_client = groupe_client;
    	}	
    }
    Mon fichier 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
    <?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>
            <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
            <property name="hibernate.connection.password">root</property>
            <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/bdd_crm</property>
            <property name="hibernate.connection.username">root</property>
            <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
            <mapping package="com.hibernate"/>
            <mapping class="clients"/>
        </session-factory>
    </hibernate-configuration>
    Je ne sais pas si j'ai bien fait de fusionner la configuration de la connexion. Dans la documentation, on voit le mapping entre les balises session-factory

    http://www.hibernate.org/hib_docs/an...single/#d0e754
    Les packages et les classes annotées sont déclarés dans votre fichier de configuration XML habituel (généralement hibernate.cfg.xml). Voici un équivalent de la déclaration ci-dessus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
     
            <hibernate-configuration>
              <session-factory>
                <mapping package="test.animals"/>
                <mapping class="test.Flight"/>
                <mapping class="test.Sky"/>
                <mapping class="test.Person"/>
                <mapping class="test.animals.Dog"/>
                <mapping resource="test/animals/orm.xml"/>
              </session-factory>
            </hibernate-configuration>

    Mon fichier de test clientsTest
    qui teste l'insertion :
    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
     
    ....
    import com.hibernate.HibernateUtil;
    import com.hibernate.clients;
    import org.hibernate.Session;
     
    public class clientsTest {
    @Test
    public void testSetClient_id() {
    		clients c = new clients ();
    		//Session session = HibernateUtil.currentSession();
    		Session session = HibernateUtil.getSession();
    		session.beginTransaction();
     
    		c.setClient_id(88);
    		c.setGroupe_client("TEST HIBERNATE");
     
    		session.save(c);
    		session.getTransaction().commit();
    	}

    HibernateUtile.java (copié collé de la documentation)
    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
    package com.hibernate;
     
    import org.hibernate.*;
    import org.hibernate.cfg.*;
     
    public class HibernateUtil {
     
    private static final SessionFactory sessionFactory;
        static {
            try {
                sessionFactory = new AnnotationConfiguration().buildSessionFactory();
            } catch (Throwable ex) {
                // Log exception!
                throw new ExceptionInInitializerError(ex);
            }
        }
        public static Session getSession()
                throws HibernateException {
            return sessionFactory.openSession();
        }
    }
    Malheuresement, j'obtiens ce message d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	java.lang.ExceptionInInitializerError
    	at com.hibernate.HibernateUtil.<clinit>(HibernateUtil.java:16)
    	at com.hibernate.test.clientsTest.testGetGroupe_client(clientsTest.java:29)
    ....
    D'après vous, ou est ce que je me suis trompé ?
    J'ai fait quelques recherches sur Google sur le mot clef java.lang.ExceptionInInitializerError mais malheureusement je pense que cela ne correspond pas au meme problème

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Points : 2 336
    Points
    2 336
    Par défaut
    il te manque dans la configuration la spécification des classes annotées

    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
     
    	<!-- Hibernate session factory -->
    	<bean id="annotedSessionFactory"
    		class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    		<property name="dataSource">
    			<ref bean="datecDataSource" />
    		</property>
    		<property name="hibernateProperties">
    			<props>
    				<!--
    					<prop
    					key="hibernate.dialect">org.hibernate.dialect.HSQLDialect</prop>
    				-->
    				<prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect
    				</prop>
    				<prop key="hibernate.hbm2ddl.auto">update</prop>
    ....
    		</property>
    		<property name="annotatedClasses">
    			<list>
    				<value>tonpackage.TaClasse
    				</value>

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 298
    Points : 484
    Points
    484
    Par défaut
    Citation Envoyé par weed Voir le message
    Bonjour,

    Je suis débutant en hibernate et je souhaiterais me mettre directement aux annotations.
    (suite de mon précédent post )

    Débute directement avec JPA, dans ce cas. Et prend hibernate comme implémentation.

Discussions similaires

  1. Hibernate 3.5 Problème avec les annotations
    Par irnbru dans le forum Hibernate
    Réponses: 3
    Dernier message: 11/04/2010, 15h14
  2. Réponses: 3
    Dernier message: 24/03/2010, 14h57
  3. [DEBUTANT][GUI] probleme avec les icones
    Par magnus2005 dans le forum Windows
    Réponses: 3
    Dernier message: 11/04/2007, 11h42
  4. [debutant] configurer hibernate sous myeclipse
    Par solawe dans le forum Hibernate
    Réponses: 3
    Dernier message: 22/11/2006, 10h36
  5. [DEBUTANT]configurer jonas pour les JMS
    Par osoumayaj dans le forum JOnAS
    Réponses: 3
    Dernier message: 25/07/2006, 17h12

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