Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Hibernate - tomcat non trova hibernate.cfg.xml

    Sono giorni che non riesco a trovare la soluzione a questo problema. Ho googlato parecchio, ho navigato per mare e per "terra" ma niente. Aiutatemi.

    Il problema è il seguente: Sto realizzando un progetto tanto per capire come funziona Hibernate. Ho creato il file di configurazione di hibernate - hibernate.cfg.xml che vi riporto qua sotto:

    hibernate.cfg.xml
    <?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.url">
    jdbc:mysql://localhost/videoteca
    </property>
    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.connection.password">danilo</property>
    <property name="hibernate.connection.pool_size">*****</property>
    <property name="show_sql">true</property>
    <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
    <property name="hibernate.hbm2ddl.auto">update</property>
    <property name="hibernate.transaction.factory_class">
    org.hibernate.transaction.JDBCTransactionFactory
    </property>
    <property name="hibernate.transaction.factory_class">
    org.hibernate.transaction.JDBCTransactionFactory
    </property>

    <mapping resource="all/User.hbm.xml"/>
    </session-factory>
    </hibernate-configuration>

    Nel package all è presente il file User.java e il file Usr.hbm.xml che rispecchiano le caratteristiche della tabella user.

    Ora vi riporto il DAO che effettua la sessione

    UserDAO
    package dao;


    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.Transaction;
    import org.hibernate.cfg.Configuration;


    import all.User;

    public class UserDAO {

    private Session session;

    public void InsertUserDB(User u){


    Transaction tx = null;

    try{
    SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
    session = sessionFactory.openSession();
    System.out.println("Inserting Record");
    tx = session.beginTransaction();
    session.save(u);
    tx.commit();
    System.out.println("Done");
    session.flush();

    }catch(Exception e){
    e.printStackTrace();
    tx.rollback();
    }
    finally{
    session.close();
    }
    }

    }
    Ora quando faccio partire Tomcat e quando la mia form richiama la Action che richiama a sua volta il metodo InsertUserDB, Tomcat mi manda questa eccezione:
    org.hibernate.HibernateException: /hibernate.cfg.xml not found
    at org.hibernate.util.ConfigHelper.getResourceAsStrea m(ConfigHelper.java:170)
    at org.hibernate.cfg.Configuration.getConfigurationIn putStream(Configuration.java:1439)
    at org.hibernate.cfg.Configuration.configure(Configur ation.java:1461)
    at org.hibernate.cfg.Configuration.configure(Configur ation.java:1448)
    at dao.UserDAO.InsertUserDB(UserDAO.java:26)
    at actions.ActionRegistrazioneControl.execute(ActionR egistrazioneControl.java:29)
    at org.apache.struts.chain.commands.servlet.ExecuteAc tion.execute(ExecuteAction.java:58)
    at org.apache.struts.chain.commands.AbstractExecuteAc tion.execute(AbstractExecuteAction.java:67)
    at org.apache.struts.chain.commands.ActionCommandBase .execute(ActionCommandBase.java:51)
    at org.apache.commons.chain.impl.ChainBase.execute(Ch ainBase.java:190)
    at org.apache.commons.chain.generic.LookupCommand.exe cute(LookupCommand.java:304)
    at org.apache.commons.chain.impl.ChainBase.execute(Ch ainBase.java:190)
    at org.apache.struts.chain.ComposableRequestProcessor .process(ComposableRequestProcessor.java:283)
    at org.apache.struts.action.ActionServlet.process(Act ionServlet.java:1913)
    at org.apache.struts.action.ActionServlet.doPost(Acti onServlet.java:462)
    at javax.servlet.http.HttpServlet.service(HttpServlet .java:710)
    at javax.servlet.http.HttpServlet.service(HttpServlet .java:803)
    at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:869)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11 ConnectionHandler.processConnection(Http11BaseProt ocol.java:664)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.process Socket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThr ead.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlR unnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Unknown Source)
    21-nov-2008 15.39.55 org.apache.struts.chain.commands.AbstractException Handler execute
    AVVERTENZA: Unhandled exception
    java.lang.NullPointerException
    at dao.UserDAO.InsertUserDB(UserDAO.java:40)
    at actions.ActionRegistrazioneControl.execute(ActionR egistrazioneControl.java:29)
    at org.apache.struts.chain.commands.servlet.ExecuteAc tion.execute(ExecuteAction.java:58)
    at org.apache.struts.chain.commands.AbstractExecuteAc tion.execute(AbstractExecuteAction.java:67)
    at org.apache.struts.chain.commands.ActionCommandBase .execute(ActionCommandBase.java:51)
    at org.apache.commons.chain.impl.ChainBase.execute(Ch ainBase.java:190)
    at org.apache.commons.chain.generic.LookupCommand.exe cute(LookupCommand.java:304)
    at org.apache.commons.chain.impl.ChainBase.execute(Ch ainBase.java:190)
    at org.apache.struts.chain.ComposableRequestProcessor .process(ComposableRequestProcessor.java:283)
    at org.apache.struts.action.ActionServlet.process(Act ionServlet.java:1913)
    at org.apache.struts.action.ActionServlet.doPost(Acti onServlet.java:462)
    at javax.servlet.http.HttpServlet.service(HttpServlet .java:710)
    at javax.servlet.http.HttpServlet.service(HttpServlet .java:803)
    at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:869)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11 ConnectionHandler.processConnection(Http11BaseProt ocol.java:664)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.process Socket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThr ead.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlR unnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Unknown Source)
    21-nov-2008 15.39.55 org.apache.struts.chain.commands.ExceptionCatcher postprocess
    AVVERTENZA: Exception from exceptionCommand 'servlet-exception'

    questo è quanto. Aspetto vostre notizie

  2. #2

  3. #3
    Utente di HTML.it L'avatar di @DI3GO@
    Registrato dal
    Nov 2008
    Messaggi
    537
    Non ho mai affrontato il discorso Hibernate, ma non c'è bisogno di configurare anche il tomcat.config?
    Anche perchè ti dice che non trova /hiber...xml, ed apparentemente lo cerca nella cartella in cui viene chiamata la classe....però non ne sono certo, quindi lancio l'ha solo un'idea...
    Nipote: persona incompetente, con le soli doti di "copia/incolla" e la creazione automatica di siti internet ed interfaccie grafiche.Compie lavori apparentemente qualificati e richiesta una modifica sparisce in quatemala con i pochi soldi ottenuti.[...] Fonte la Diegonzelli

  4. #4
    il file deve trovarsi nel classpath disponibile all'applicazione.

    Prova a inserirlo dentro il jar nella directory META-INF.

    P.S. se usi netbeans e vuoi che vada a finire direttamente all'interno di META-INF durante la fase di building inseriscilo nella cartella "configuration files"

  5. #5
    peppem "il file deve trovarsi nel classpath disponibile all'applicazione".

    Sto usando eclipse come IDE, come faccio a capire dove si trova il classpath disponibile? In poche parole, dove devo mettere questo file hibernate.cfg.xml per farmelo vedere da Tomcat?

    ci sto sbattendo la testa da parecchio tempo ormai e comincia a far male.

  6. #6
    "Prova a inserirlo dentro il jar nella directory META-INF"

    Il jar non è altro che un file zip aprilo e metti dentro la dir META-INF il file xml.
    Se dovesse funzionare vediamo come fare in automatico con eclipse.

  7. #7
    Sono riuscito a risolvere il problema con quest'istruzione:
    SessionFactory sessionFactory = new Configuration().addFile("C:/percorso-completo-file/META-INF/hibernate.cfg.xml").buildSessionFactory();

    Però ora Tomcat mi dice:
    INFO: Initialize action of type: actions.ActionRegistrazioneControl
    32 [http-8080-Processor24] INFO org.hibernate.cfg.Environment - Hibernate 3.3.1.GA
    63 [http-8080-Processor24] INFO org.hibernate.cfg.Environment - hibernate.properties not found
    63 [http-8080-Processor24] INFO org.hibernate.cfg.Environment - Bytecode provider name : javassist
    78 [http-8080-Processor24] INFO org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling
    157 [http-8080-Processor24] INFO org.hibernate.cfg.Configuration - Reading mappings from file: C:\DOCUMENTI DANILO\Workspace\Videoteca\WebContent\META-INF\hibernate.cfg.xml
    297 [http-8080-Processor24] WARN org.hibernate.connection.UserSuppliedConnectionPro vider - No connection properties specified - the user must supply JDBC connections
    org.hibernate.HibernateException: Hibernate Dialect must be explicitly set

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.