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

    Problema con Hibernate...

    Ciao a tutti ho il seguente problema o meglio exception:

    18-dic-2009 17.44.50 org.apache.catalina.core.StandardWrapperValve invoke
    GRAVE: Servlet.service() for servlet ServletServiceInterface threw exception
    java.lang.ClassNotFoundException: javax.persistence.JoinTable
    at org.apache.catalina.loader.WebappClassLoader.loadC lass(WebappClassLoader.java:1387)
    at org.apache.catalina.loader.WebappClassLoader.loadC lass(WebappClassLoader.java:1233)
    at java.lang.ClassLoader.loadClassInternal(ClassLoade r.java:316)
    at org.hibernate.cfg.AnnotationConfiguration.secondPa ssCompile(AnnotationConfiguration.java:272)
    at org.hibernate.cfg.Configuration.buildSessionFactor y(Configuration.java:1286)
    at org.hibernate.cfg.AnnotationConfiguration.buildSes sionFactory(AnnotationConfiguration.java:859)
    at org.itproges.persistent.HibernateUtil.<clinit>(Hib ernateUtil.java:33)
    at org.itproges.persistent.AccessDB.findUserDatiById( AccessDB.java:62)
    at org.itproges.persistent.StoreObjectToDB.excuteTran s(StoreObjectToDB.java:24)
    at org.itproges.serviceinterface.ServiceInterfaceAnag rafica.gestioneAnagraficaHib(ServiceInterfaceAnagr afica.java:106)
    at org.itproges.servlet.ServletServiceInterface.proce ssRequest(ServletServiceInterface.java:185)
    at org.itproges.servlet.ServletServiceInterface.doGet (ServletServiceInterface.java:429)
    at javax.servlet.http.HttpServlet.service(HttpServlet .java:617)
    at javax.servlet.http.HttpServlet.service(HttpServlet .java:717)
    at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:206)
    at org.netbeans.modules.web.monitor.server.MonitorFil ter.doFilter(MonitorFilter.java:390)
    at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:286)
    at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:845)
    at org.apache.coyote.http11.Http11Protocol$Http11Conn ectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run( JIoEndpoint.java:447)
    at java.lang.Thread.run(Thread.java:619)

    il HibernateUtil.java è fatto così:

    package org.itproges.persistent;

    import java.io.File;
    import org.hibernate.cfg.AnnotationConfiguration;
    import org.hibernate.SessionFactory;

    public class HibernateUtil {
    private static final SessionFactory sessionFactory;

    static {
    try {
    // Create the SessionFactory from standard (hibernate.cfg.xml)
    // config file.
    //sessionFactory = new AnnotationConfiguration().configure().buildSession Factory();
    sessionFactory = new AnnotationConfiguration().configure(new File("c:/hibernate.cfg.xml")).buildSessionFactory();
    } catch (Throwable ex) {
    // Log the exception.
    System.err.println("Initial SessionFactory creation failed." + ex);
    throw new ExceptionInInitializerError(ex);
    }
    }

    public static SessionFactory getSessionFactory() {
    return sessionFactory;
    }
    }

    e la findUserDatiByID è fatta così:

    public boolean findUserDatiById(int codice_azienda){
    boolean lFind = false;
    UserDati user = null;

    Session session = HibernateUtil.getSessionFactory().openSession();

    Transaction tx = null;
    try {
    tx = session.beginTransaction();
    user = (UserDati)session.get(UserDati.class,codice_aziend a);
    if (user == null) lFind = false;
    else lFind = true;
    tx.commit();
    }
    catch (HibernateException he) {
    if (tx!=null) tx.rollback();
    System.out.println("Error in retrive del record con codice_azienda = " + codice_azienda);
    lFind= false;
    }
    finally {
    session.close();
    }
    return lFind;
    }

    La cosa curiosa è che se lancio il programma da una main class tutto funziona, mentre se uso le classi sviluppate con hibernate come una libreria che vengono inseriti in un progetto con una servlet, ottengo l'errore.

    Qualcuno ha qualche idea?

    Un altro problema che ho è che con netbeans quando inserisco il hibernate.cfg.xml nella dir dove ci sono i .class, mi restituisce l'errore che non trova il file di configurazione e allora sono costretto a dichiarare esplicitamente il percorso in HibernateUtil (come avrete potuto notare).

    Ciao e mille grazie.

  2. #2

    Problema con Hibernate

    L'eccezione java.lang.ClassNotFoundException, ti averte che il classloader non ha trovato la classe javax.persistence.JoinTable sei sicuro che nella cartella lib della WEBAPP siano contenuti tutte le librerie necessarie ?

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 © 2025 vBulletin Solutions, Inc. All rights reserved.