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 :

Hibernate et Wamp sur le port 81


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2011
    Messages : 27
    Par défaut Hibernate et Wamp sur le port 81
    Bonjour,

    J'ai un problème de connexion entre Hibernate et Wamp server.

    IIS étant installé sur ma machine sur le port 80, j'ai installé Apache sur le port 81 pour Wamp Server et dans mon fichier de config hibernate.cfg.xml j'ai mis ceci pour l'url
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    <property name="hibernate.connection.url">jdbc:mysql://localhost:81:3306/DB_TRANSPORT_CARGAISON</property>
    pour permettre à Hibernate de savoir où se trouve la base de données.

    Malheureusement rien ne se passe, aucune exception non plus.

    Voici mon fichier de config hibernate.cfg.xml:
    Code xml : 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
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-configuration PUBLIC
            "-//Hibernate/Hibernate Configuration DTD//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.url">jdbc:mysql://localhost:81:3306/DB_TRANSPORT_CARGAISON</property>
            <property name="hibernate.connection.username">root</property>
            <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
            <!-- Enable Hibernate's automatic session context management -->
            <property name="current_session_context_class">thread</property>
     
            <!-- JDBC connection pool (use the built-in) -->
            <property name="connection.pool_size">1</property>    
     
            <!-- Disable the second-level cache -->
            <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
     
            <!-- Echo all executed SQL to stdout -->
            <property name="show_sql">false</property>
     
            <!-- Drop and re-create the database schema on startup -->
            <property name="hbm2dll.auto">create</property>
     
            <mapping resource="dao/Cargaison.hbm.xml"/>
            <mapping resource="dao/Marchandise.hbm.xml"/>
        </session-factory>
    </hibernate-configuration>

    mon fichier hibernateUtil.java :
    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
    package util;
     
    import org.hibernate.SessionFactory;
    import org.hibernate.cfg.Configuration;
     
    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;
        }
    }
    cargaison.hbm.xml :
    Code xml : 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
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <!-- Generated Sep 3, 2014 10:46:22 AM by Hibernate Tools 3.4.0.CR1 -->
    <hibernate-mapping>
        <class name="dao.Cargaison" table="CARGAISON">
            <id name="reference" column="REF_CARG"></id>
            <discriminator column="TYPE_CARG" type="string" length="2"></discriminator>
            <property name="distance" type="double">
                <column name="DISTANCE" />
            </property>
            <property name="dateLivraison" type="java.util.Date">
                <column name="DATELIVRAISON" />
            </property>
            <set name="listeMarchandises" inverse="true" lazy="true">
                <key column="REF_CARG"></key>
                <one-to-many class="dao.Marchandise" />
            </set>
            <subclass name="dao.CargaisonAerienne" discriminator-value="CA">
                <property name="poidsMax"></property>
            </subclass>
            <subclass name="dao.CargaisonRoutiere" discriminator-value="CR">
                <property name="temperature"></property>
            </subclass>
        </class>
    </hibernate-mapping>
    Marchandise.hbm.xml :
    Code xml : 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
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD //EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <!-- Generated Sep 3, 2014 10:46:22 AM by Hibernate Tools 3.4.0.CR1 -->
    <hibernate-mapping>
        <class name="dao.Marchandise" table="MARCHANDISE">
            <id name="numero" column="NUMERO" >
                <generator class='native'></generator>
            </id>
            <property name="poids">
            </property>
            <property name="volume">
            </property>
            <property name="nom">
            </property>
            <many-to-one name="cargaison" column="REF_CARG"></many-to-one>
        </class>
    </hibernate-mapping>
    et la réponse d'Eclipse :
    log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
    log4j:WARN Please initialize the log4j system properly.
    A l'exécution de TestDao:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    package dao;
     
    import util.HibernateUtil;
     
    public class TestDao {
     
        public static void main(String[] args)
        {
            HibernateUtil.getSessionFactory();
        }
    }
    Quelqu'un saurait-il m'expliquer ce qui se passe et comment résoudre ce problème ?

    Merci d'avance pour votre aide.

  2. #2
    Membre Expert Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Par défaut
    salut,
    ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jdbc:mysql://localhost:81:3306/DB_TRANSPORT_CARGAISON
    mets plutot:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jdbc:mysql://localhost:3306/DB_TRANSPORT_CARGAISON
    eric

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2011
    Messages : 27
    Par défaut
    Bonjour eric,

    J'ai fait les modifications que tu m'as suggérées mais rien n 'y fait. Aurais-tu une idée d'où peut venir l'erreur ?
    J'ai l'impression qu'il ne trouve pas la base de données à cause du port mais, en fait j'en sais rien (Apache est sur le port 81 et non 80).

    Merci d'avance.

  4. #4
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3 468
    Par défaut
    Bonjour,

    L'erreur
    log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
    log4j:WARN Please initialize the log4j system properly.
    n'est pas une erreur liée à ton problème, en revanche elle dénote un manque dans le fichier de configuration de Log4j, dans lequel rien n'est précisé pour qu'Hibernate puisse tracer quelque chose. Donc, il te faut chercher quoi rajouter...

    D'autre part, évite de choisir des ports au hasard, en-dessous de 1024, ceux-ci sont réservés. Donc, à la place de 81, tu devrais mettre plutôt 8080 par exemple. Cela dit, l'accès à la base de données n'a rien à voir avec ce port-ci, puisque MySQL est par défaut sur le port 3306. Donc ta connexion JDBC doit aller directement sur ce port, sans tenter de passer par le port du serveur web, comme visiblement tu tentais de le faire. Documente-toi un peu sur la manière de former les URL, ça pourra te servir. Donc du coup, ce que t'a indiqué jeffray03 est déjà une bonne chose.

    Quoi qu'il en soit, à quoi t'attends-tu ? Tu parles d'Apache mais tu exécutes un test hors contexte web, donc quel est le rapport ?
    D'autre part, de quel projet Apache parles-tu ? Apache c'est le nom de la fondation qui gère nombre de projets, dont le serveur web Apache et le conteneur de servlets Tomcat, donc faut être précise !
    Responsable FAQ Eclipse | Maintiens et développe un des logiciels destinés aux rédacteurs sur developpez.com
    Gardons toujours à l'esprit que le forum constitue une base documentaire, dont l'utilité et la qualité dépendent du soin apporté à nos questions et nos réponses. Soyons polis, précis (dans le titre et dans le corps des questions), concis, constructifs et faisons de notre mieux pour respecter la langue française et sa grammaire. Merci pour nous (les modérateurs) mais aussi et surtout, merci pour vous.
    Problème solutionné => je vais au bas de la page et je clique sur le bouton (qui suite à mise à jour du forum, a légèrement changé d'aspect).

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2011
    Messages : 27
    Par défaut
    Ok, merci pour ta réaction, je me suis un peu embrouillée dans ma question, il est vrai que l'exécution se fait hors contexte web.

    Mon but est de générer la base de données via Hibernate et lors de mon exécution, je n'ai que des warnings et pas de création de base de données dans phpMyAdmin.
    Juste que le serveur Apache écoute sur le port 81 et pas sur le port 80. mais je vais déjà mieux me renseigner sur la création d'URL comme tu as dis et voir le Log4j.

    Donc, je ne comprends pas pourquoi ma base de données n'est pas créée côté phpMyAdmin. Je débute en Hibernate et je ne sais pas si j'ai mal fait quelque chose.
    Malgré les warnings de log4j, je ne pense pas, qu'il devrait avoir de problème au niveau de la base de données.

    Quelqu'un aurait-il une idée ?

  6. #6
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3 468
    Par défaut
    Ok, tu veux créer automatiquement les tables correspondant aux entités définies, dans ta base de données.

    Personnellement je n'ai pas utilisé cette fonctionnalité d'Hibernate mais d'après ce que je vois, en cherchant un peu, il est probable que le problème se situe à ce niveau-là :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    <property name="hbm2dll.auto">create</property>
    Assure-toi que c'est formulé correctement par rapport à la version d'Hibernate que tu utilises.
    Responsable FAQ Eclipse | Maintiens et développe un des logiciels destinés aux rédacteurs sur developpez.com
    Gardons toujours à l'esprit que le forum constitue une base documentaire, dont l'utilité et la qualité dépendent du soin apporté à nos questions et nos réponses. Soyons polis, précis (dans le titre et dans le corps des questions), concis, constructifs et faisons de notre mieux pour respecter la langue française et sa grammaire. Merci pour nous (les modérateurs) mais aussi et surtout, merci pour vous.
    Problème solutionné => je vais au bas de la page et je clique sur le bouton (qui suite à mise à jour du forum, a légèrement changé d'aspect).

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 16/07/2013, 15h52
  2. Réception sur le port série sous DOS avec Borland V3.0
    Par jackyjacky dans le forum Autres éditeurs
    Réponses: 24
    Dernier message: 19/03/2004, 23h18
  3. Savoir si une connection est établie sur un port
    Par Malone dans le forum Web & réseau
    Réponses: 3
    Dernier message: 06/12/2003, 08h22
  4. ping sur un port
    Par Neo41 dans le forum Développement
    Réponses: 3
    Dernier message: 21/01/2003, 01h42
  5. webcam : lire sur un port usb en c/c++ ou java. sous win. ?
    Par flo007 dans le forum Choisir un environnement de développement
    Réponses: 2
    Dernier message: 24/05/2002, 23h24

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