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

NetBeans Java Discussion :

netbeans 5.5 + hibernate 3.2


Sujet :

NetBeans Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 10
    Points : 8
    Points
    8
    Par défaut netbeans 5.5 + hibernate 3.2
    bonjour
    j'ai un petit probleme avec netbeans et hibernate malgré les tuto et le livre...
    et j'ai déja chercher sur les forum et sur google ( plusieurs jours déja )
    je suis déja à 2 semaine de java a temps plein

    Environement:
    Netbeans 5.5 -> environement choisi pour le projet
    hibernate 3.2
    MySQL 5.0 -> base de données choisi par le projet

    edit:

    je pense avoir trouver une piste pour probleme décrit ci dessous :
    en regardant les log j'ai vu qu'il n'arrive pas a trouver le fichier de conf
    dans netbeans on doit le mettre ou ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester.sax).
    log4j:WARN Please initialize the log4j system properly.
    20 mars 2007 17:14:00 org.apache.catalina.core.StandardContext start
    INFO: Le conteneur org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/test] a déjà été démarré
    Initial SessionFactory creation failed.org.hibernate.HibernateException: /hibernate.cfg.xml not found
    fin edit

    je travail sur un exemple tout simple décrit beaucoup plus en détails ci dessous.
    je dois signaler que mysql marche bien mais j'ai un doute sur la connexion entre hibernate et mysql ainsi que sur les paths des différents fichier a mettre en place

    quelqu'un pourrais t'il m'indiquer les étapes et les repertoires où mettre mes différents fichiers parce que je ne comprend pas pourquoi cela ne marche pas
    ( message d'erreur tout a la fin )

    par avance merci au gens qui voudront m'aider et le pourront



    dans la config de netbeans :

    Dois je ajouter le driver MySQL dans Netbeans ? ( runtime -> drivers )
    Ou est ce que je dois ajouter directement une data source via interface web dans http://localhost:8084/admin/ -> ressources -> une datasource

    je dois dire que j'ai fait les deux successivement sans succes avec hibernate !
    Par contre les ptit script normaux de connexion à une base de données marche.

    Description de mes fichiers :

    BASE DE DONNEES
    user : toto
    pass : toto
    base : test
    table : toto que j'ai rempli de quelque ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    CREATE TABLE `toto` (
      `id` int(10) NOT NULL auto_increment,
      `nom` varchar(20) NOT NULL default 'toto',
      PRIMARY KEY  (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8


    NETBEANS
    Nom du projet : test
    type : application web
    option particuliere :
    l'option Set Source level to 1.4 est décoché
    l'option JSF est coche, j'ai gardé la config donnée par défaut

    Librairies:

    nom: hibernate-mysql
    contenu :
    hibernate3.jar
    mysql-connector-java-5.0.4-bin.jar
    + la liste ci dessous

    liste des lib du tar.gz
    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
     
    _README.txt                     jaas.jar
    ant-1.6.5.jar                   jaas.licence.txt
    ant-antlr-1.6.5.jar             jacc-1_0-fr.jar
    ant-junit-1.6.5.jar             javassist.jar
    ant-launcher-1.6.5.jar          jaxen-1.1-beta-7.jar
    ant-swing-1.6.5.jar             jboss-cache.jar
    antlr-2.7.6.jar                 jboss-common.jar
    antlr.license.txt               jboss-jmx.jar
    apache.license-2.0.txt          jboss-system.jar
    apache.license.txt              jdbc2_0-stdext.jar
    asm-attrs.jar                   jdbc2_0-stdext.licence.txt
    asm.jar                         jgroups-2.2.8.jar
    c3p0-0.9.1.jar                  jta.jar
    c3p0.license.txt                jta.licence.txt
    cglib-2.1.3.jar                 junit-3.8.1.jar
    checkstyle-all.jar              log4j-1.2.11.jar
    cleanimports.jar                oscache-2.1.jar
    commons-collections-2.1.1.jar   proxool-0.8.3.jar
    commons-logging-1.0.4.jar       swarmcache-1.0rc2.jar
    concurrent-1.3.2.jar            syndiag2.jar
    connector.jar                   version.properties
    connector.licence.txt           versioncheck.jar
    dom4j-1.6.1.jar                 xerces-2.6.2.jar
    ehcache-1.2.3.jar               xml-apis.jar

    JAVA CODE mis dans le meme package

    pakage : essai

    Class Toto : toto.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
     
    package essai;
     
    public class Toto
    {
        public Toto(){}
     
        private Integer id;
        private String nom;
     
        public Integer getId() { return id; }
        private void setId(Integer id) { this.id = id; }
     
        public String getNom() { return nom; }
        public void setNom(String nom){ this.nom = nom; }
    }
    servlet : voir.java
    desc : afficher les elements (code recuperer et adapter du tuto officiel)
    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
     
    package essai;
     
    import java.io.*;
    import java.net.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import javax.servlet.ServletException;
    import java.util.*;
    import java.text.SimpleDateFormat;
    import essai.HibernateUtil;
     
    public class voir extends HttpServlet {
        protected void doGet(HttpServletRequest request,HttpServletResponse response)
        throws ServletException, IOException 
        {
            try {
                HibernateUtil.getSessionFactory().getCurrentSession().beginTransaction();
                PrintWriter out = response.getWriter();
                List result = HibernateUtil.getSessionFactory().getCurrentSession().createCriteria(Toto.class).list();
                if (result.size() > 0) {
                    for (Iterator it = result.iterator(); it.hasNext();) {
                        Toto toto = (Toto) it.next();
                        out.println("<p>");
                        out.println("<br />id : " + toto.getId() );
                        out.println("<br />nom: " + toto.getNom() );
                        out.println("</p>");
                    }
                }
                out.flush();
                out.close();
                HibernateUtil.getSessionFactory().getCurrentSession().getTransaction().commit();
            } 
            catch (Exception ex)
            {
                HibernateUtil.getSessionFactory().getCurrentSession().getTransaction().rollback();
                throw new ServletException(ex);
            }
        }
    }
    Class: HibernateUtil.java
    desc: une classe qui aide a la connexion à hibernate si j'ai saisi
    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 essai;
     
    import org.hibernate.*;
    import org.hibernate.cfg.*;
     
    public class HibernateUtil {
     
        private static final SessionFactory sessionFactory;
     
        static {
            try {
                // Create the SessionFactory from 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 SessionFactory getSessionFactory() {
            return sessionFactory;
        }
    }

    XML -> je ne sais pas ou les mettres

    config : hibernate.cfg.xml -> je l'ai mis dans WEB-INF sans succes et puis dans le package essai mais sans succes tjs
    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
     
    <?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="dialect">org.hibernate.dialect.MySQLDialect</property>
            <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
            <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>
            <property name="hibernate.connection.username">toto</property>
            <property name="hibernate.connection.password">toto</property>
            <property name="show_sql">true</property>
     
             <!-- mapping de base-->
             <mapping resource="java/essai/Toto.hbm.xml"/>
     
        </session-factory>
    </hibernate-configuration>

    config : Toto.hbm.xml -> je l'ai mis dans le package essai
    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
     
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC
            "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
            "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
     
     
    <hibernate-mapping>
     
        <class name="Toto" table="toto">
            <id name="id" column="id">
                <generator class="increment"/>
            </id>
            <property name="nom" column="nom"/>
        </class>
     
    </hibernate-mapping>

    enfin voila cela m'affiche ceci comme erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    exception
     
    javax.servlet.ServletException: L'exécution de la servlet a lancé une exception
    	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)
     
    cause mère
     
    java.lang.NoClassDefFoundError
    	essai.voir.doGet(voir.java:20)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)
    merci au gens qui voudront m'aider et le pourront

    cordialement

    mathieu

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    je l'ai mis dans src/java/ et maintenant il lis le fichier hibernate.cfg.xml
    cela fonctionne sur netbeans 5.5, c'est pas tres propres car dans l'arborescence de projet il me l'affiche dans les package par défaut.

    j'ai un autre soucis par contre il m'indique maintenant dans les log de tomcat:

    Initial SessionFactory creation failed.org.hibernate.InvalidMappingException: Could not parse mapping document from resource ./essai/Toto.hbm.xml

    une idée ?? je comprend que c'est un probleme au niveau de l'interpretation du mapping xml. A mon avis le mapping doit pas etre bon.

    j'ai fait quelque modification par rapport au message d'avant :

    hibernate.cfg.xml

    <!-- mapping de base-->
    <mapping resource="./essai/Toto.hbm.xml"/>


    le mapping de toto est :

    Toto.hbm.xml

    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <hibernate-mapping>
    <class name="Toto" table="toto">
    <id name="id" column="id" type="int">
    <generator class="increment"/>
    </id>
    <property name="nom" column="nom"/>
    </class>
    </hibernate-mapping>



    la table toto est celle ci
    toto.sql

    CREATE TABLE `toto` (
    `id` int(10) unsigned NOT NULL auto_increment,
    `nom` varchar(20) NOT NULL default 'toto',
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8


    bon je continue a chercher si je trouve des idées je vous tiens au courrant

    merci a ceux qui m'aide

    cordialement mathieu

  3. #3
    Membre éprouvé
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Points : 936
    Points
    936
    Par défaut
    Dans ta classe HibernateUtil, t'aurais pu lui passer le chemin de ton fichier de config, ca aurait été plus simple. Vu que tu ne lui donnes rien, il essaye de le chercher dans le classpath, donc dans le package par défaut.

    Et pour la déclaration des fichier de mapping, retire le ./ devant essai/Toto.hbm.xml

    ps : un conseil, fais des messages plus court, parles que de l'essentiel, là on perd vite le fils avant d'arriver à la fin
    ps2 : le forum hibernate est plus approprié a ta demande, les spécialiste sont labas et ton problème ne vient pas directement de l'utilisation de netbeans
    Netbeans account : nico@share.java.net
    Merci de ne pas poser de questions techniques par MP

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    ok je te remercie
    je sais bien pour le forum
    j'ai d'ailleur posé la questio la bas aussi mais il ne sont pas expert netbeans
    meme si il s'agit d'un probleme hibernate
    c'est avant tout l'intégration à netbeans qui est délicate et qui demande l'aide de gens utilisant hibernate avec netbeans

    enfin bref
    oui je vais essaye de faire de plus court message à l'avenir

    tu sais comment on indique le path dans la classe hibernate util ?

    cordialement
    mathieu

  5. #5
    Membre éprouvé
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Points : 936
    Points
    936
    Par défaut
    Faudrait pas oublier de se renseigner sur un framework avant de l'utiliser
    http://www.hibernate.org/hib_docs/re...iguration.html
    http://www.hibernate.org/hib_docs/v3...iguration.html

    ET je signe, aucun rapport avec netbeans, tu aurais développer avec notepad que tu serais tombé exactement sur les mêmes problème !
    Netbeans account : nico@share.java.net
    Merci de ne pas poser de questions techniques par MP

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Mai 2003
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 3 240
    Points : 11 101
    Points
    11 101
    Par défaut
    Citation Envoyé par n!co
    ET je signe, aucun rapport avec netbeans, tu aurais développer avec notepad que tu serais tombé exactement sur les mêmes problème !
    Exact
    Vincent Brabant

    Ne pas me contacter par MP ni par mail pour des questions techniques. Ma liste d'amis restera vide.

    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java

  7. #7
    Membre éprouvé
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Points : 936
    Points
    936
    Par défaut
    Ele51 > on parlait bien du forum Hibernate sur Developpez.com ?
    Developpez.com powa
    Netbeans account : nico@share.java.net
    Merci de ne pas poser de questions techniques par MP

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    hihi
    hum non le forum d'hibernate ;-)
    je voulais pas faire de double topic sur le forum de developpez...
    dsl d'avoir pris du temps a répondre
    on a décider d'opter pour postgresql
    alors je ressort de 3-4 jour intensif d'utilisation :-)

    merci pour les liens
    en fait le probleme c'est qu'a force de lire des exemple partout ( doc tuto etc..) on perd un peu le fil

    http://www.hibernate.org/hib_docs/re...iguration.html
    -> ce liens la est en fr ;-)

    merci pour le reste a+

    edit: je relis vos topic un peu apres :-p et en fait sur le forum hibernate officiel on m'a dit que c'était avec les gens de netbeans qu'il fallait voir lol :-p
    enfin bref je retourne a post gresql et quand j'arriverai a des resultats je recommencerai cette doc que j'ai commencé
    a pluche

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/06/2007, 08h30
  2. [NBP]NetBeans Platform - ModuleInstall - Hibernate
    Par aяиaud dans le forum NetBeans
    Réponses: 9
    Dernier message: 27/04/2007, 17h30
  3. Réponses: 5
    Dernier message: 26/04/2007, 10h24
  4. Netbeans Platform et Hibernate
    Par aяиaud dans le forum NetBeans
    Réponses: 4
    Dernier message: 11/04/2007, 15h18
  5. Hibernate, Netbeans et Firebird
    Par eponette dans le forum Hibernate
    Réponses: 13
    Dernier message: 16/02/2007, 22h10

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