Pessoal,
Tô fazendo um projeto pra faculdade (TCC) e estou com alguns problemas com o Hibernate.
Peguei essa classe útil na Internet
package dao;
/*
* <p><b>Autor....:</b> mmrack</p>
* <p><b>Criao..:</b> 20/04/2005 20:29:42</p>
*/
import javax.naming.InitialContext;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
/**
* <p><b>Descrio:</b> Nenhuma descrio foi definida para essa classe</p>
* <p><b>Empresa..:</b> 3LAYER</p>
* <p><b>Sistema..:</b> treeLayer</p>
* <p><b>Criao..:</b> 20/04/2005 20:29:42</p>
* @author mmrack
* @version 1.0
* @since 20/04/2005 20:29:42
*/
public class HibernateUtil {
private static SessionFactory sessionFactory;
public static final ThreadLocal session = new ThreadLocal();
static {
try {
InitialContext ic = new InitialContext();
sessionFactory = (SessionFactory) ic.lookup("java:/br/com/treelayer/hibernate/Persistencia");
} catch (Exception e) {
}
}
/**
* Retorna a sesso corrente via ThreadLocal.<br>
* Use esse mtodo somente fora do container J2EE.<br>
* <p><b>Autor....:</b> mmrack</p>
* <p><b>Criao..:</b> 12/05/2005 18:59:39</p>
* @return
*/
public static Session currentSession() {
Session s = (Session) session.get();
// Open a new Session, if this Thread has none yet
if (s == null) {
s = sessionFactory.openSession();
session.set(s);
}
return s;
}
/**
* Fecha a sesso corrente.<br>
* Use esse mtodo somente fora do container J2EE.<br>
* <p><b>Autor....:</b> mmrack</p>
* <p><b>Criao..:</b> 12/05/2005 19:00:22</p>
*/
public static void closeSession() {
Session s = (Session) session.get();
if (s != null)
s.close();
session.set(null);
}
/**
* Retorna a sesso corrente no EJB.<br>
* Use esse mtodo dentro do container J2EE quando as transaes forem gerenciadas pelo container.<br>
* Lembre-se, ao usar esse mtodo no necessrio chamar um "close" na sesso, pois ela ser automaticamente fechada
* quando ocorrer o encerramento da transao CMT, ou seja, ao final do mtodo.<br>
* <p><b>Autor....:</b> mmrack</p>
* <p><b>Criao..:</b> 12/05/2005 18:44:11</p>
* @return
*/
public static Session getCurrentSession() {
return sessionFactory.getCurrentSession();
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
E pra utilizar essa classe eu fiz esse método
public void insert(User user) throws Exception
{
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
session.save(user);
session.getTransaction().commit();
}
e esse é o código do meu .jsp
<%= usuario.getNome() %>
<%=usuario.inserir(usuario) %>
Só que quando eu mando rodar eu recebo esse erro aqui:
javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/hibernate/Session
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
org.apache.jsp.index_jsp._jspService(index_jsp.java:89)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
Eu tenho CERTEZA que tenho a Classe Session, tanto que uso ela em outras classes e não recebo erros…
Alguém tem algum idéia do que tá de errado??
Se tiverem algum tutorial de Hibernate básico, sem annotations?? já ajudaria…
Obrigadão,
Caio.