Pessoal, estou fazendo testezinhos que usam struts e hibernate. Estou apanhando disso hoje o dia inteiro, uma coisinha atrás da outra. No momento, estou esbarrando com o seguinte erro:
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: The user must supply a JDBC connection
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:370)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
root cause
java.lang.UnsupportedOperationException: The user must supply a JDBC connection
net.sf.hibernate.connection.UserSuppliedConnectionProvider.getConnection(UserSuppliedConnectionProvider.java:32)
net.sf.hibernate.impl.BatcherImpl.openConnection(BatcherImpl.java:292)
net.sf.hibernate.impl.SessionImpl.connect(SessionImpl.java:3373)
net.sf.hibernate.impl.SessionImpl.connection(SessionImpl.java:3333)
net.sf.hibernate.impl.BatcherImpl.prepareQueryStatement(BatcherImpl.java:67)
net.sf.hibernate.loader.Loader.prepareQueryStatement(Loader.java:784)
net.sf.hibernate.loader.Loader.doQuery(Loader.java:269)
net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:138)
net.sf.hibernate.loader.Loader.doList(Loader.java:1063)
net.sf.hibernate.loader.Loader.list(Loader.java:1054)
net.sf.hibernate.hql.QueryTranslator.list(QueryTranslator.java:854)
net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1554)
net.sf.hibernate.impl.QueryImpl.list(QueryImpl.java:49)
net.app.MateriaPrimaService.getMateriaPrimaList(MateriaPrimaService.java:177)
org.apache.jsp.AddMateriaPrima_jsp._jspService(org.apache.jsp.AddMateriaPrima_jsp:111)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
Meu hibernate.cfg.xml está no diretorio classes, da seguinte forma:
Os fontes estão dentro do mesmo diretorio classes, só que no pacote net.app.
Já consegui fazer anteriormente, sem problemas, exemplos com struts, sem hibernate. Por alguma razão, na hora de juntar os dois estou apanhando mais que mulher de soldado bêbado que descobriu que é corno.
Ele está dizendo que você tem que “entregar” as conexões pra ele, porque você não definiu nenhum provedor de conexões pra ele. Porque você não está usando os pools de conexões dele?
Continuo não deixando ele se conectar ao database.
Fiz as mudanças que vc sugeriu, e infelizmente ficou na mesma. Daí dei uma pesquisada e percebi que o nome das propriedades que eu estava usando era diferente de algumas referências que achei na web… então fiz mudanças no meu .cfg.xml e ele ficou:
A essa altura do campeonato, tenho quase certeza que é um erro idiota em algum lugar que a idiota aqui não está achando, hehe. Mas já pesquisei e tentei resolver de várias formas e ainda nada
Maurício, este tutorial está mto bom, o autor está de parabéns :roll: :roll:
Consegui fazer o exemplo dele e funcionou legal. No entanto, tou apanhando é na hora de meter struts com hibernate, o que teoricamente seria uma boa combinação.
Hibernate sozinho = funciona
Hibernate com struts = … erro atrás do outro
Eu gostaria, se fosse possivel, que alguem me informasse onde eu posso ver um bom tutorial dessa combinação, ou codigo fonte de exemplo, ou coisa que o valha. Pq até agora tudo q achei nao foi mto util.
Pois é, o autor pensou em dividir o tutorial em duas partes, pra ele não ficar chato demais. Primeiro ia mostrar como é que funciona o Hibernate e na segunda parte ele ia mostrar como integrar ele em uma aplicação web ou desktop, usando DAO e (talvez) Active Record. Mas parece que o povo tá com mais pressa do que ele previu :lol:
Já que o seu problema é pra agora, vejamos um paleativo, não é assim que eu estou fazendo, mas isso já é um passo pra resolver algumas coisas. Você cria uma classe pra “cobrir” as coisas do Hibernate, os inserts, updates, selects, gets e deletes.
Primeiro, uma interface pro dao:
import java.util.List;
/*
* Created on 17/06/2005
*/
/**
* @author Maurício
*/
public interface CrudDao {
public void inserir(Object objeto);
public List listar(Class clazz);
public void atualizar(Object objeto);
public void deletar(Object objeto);
public Object carregar(Class clazz, Integer id);
}
Depois a implementação usando Hibernate dessa interface: