Hi
I'm new to Hibernate. I'm using Hibernate 2.1.3, Mysql 4.0.12 and Tomcat 5.
I'm using the example HibernateUtilities class and my DAO class uses it to get the current session.
Here's the HibernateUtilities class:
Code:
package com.cms.server.util;
import net.sf.hibernate.HibernateException;
import net.sf.hibernate.Session;
import net.sf.hibernate.SessionFactory;
import net.sf.hibernate.cfg.Configuration;
/**
*
* @author
*
*/
public class HibernateUtil
{
private static final SessionFactory sessionFactory;
public static final ThreadLocal session = new ThreadLocal();
static
{
try
{
// Create the SessionFactory
sessionFactory = new Configuration().configure().buildSessionFactory();
}
catch (HibernateException ex)
{
throw new RuntimeException("Configuration problem: " + ex.getMessage(), ex);
}
}
public static Session currentSession() throws HibernateException
{
Session s = (Session) session.get();
// Open a new Session, if this Thread has none yet
if (s == null)
{
s = sessionFactory.openSession();
session.set(s);
System.out.println("creating sessionFactory");
}
System.out.println("Returning session.");
return s;
}
public static void closeSession() throws HibernateException
{
System.out.println("HibernateUtil.closeSession: inside the method.");
try
{
Session s = (Session) session.get();
session.set(null);
if (s != null)
s.close();
}
catch(Throwable t){
t.printStackTrace();
}
}
}
I'm getting NoClassDefFoundError when I run my test servlet that uses the DAO.
Here's the stack trace:
2004-08-02 10:41:52 StandardWrapperValve[TestHibernateServlet]: Servlet.service() for servlet TestHibernateServlet threw exception
java.lang.NoClassDefFoundError
at com.cms.server.database.hibernate.HibernateUserDAO.getUserByUsernamePassword(Unknown Source)
at com.cms.server.servlet.TestHibernateServlet.doGet(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:793)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:702)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:571)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:644)
at java.lang.Thread.run(Thread.java:536)
I have set up my Classpath as in the qucikstart guide.
Thanks for any help
[/code]