pessoal … estou de cabelo em pe aqui!
comecei a usar o hibernate faz pouco tempo, ainda não me acostumei com seus erros.
bom, na pagina de login funciona tudo ok !
ele busca , testa, retorna o ok !!
mas, em outra parte do programa, quando eu tento fazer uma busca, (estava funcionando e eu não mexi ! ) agora, apresenta este erro na pagina :
org.hibernate.exception.SQLGrammarException: could not execute query
no log do netbeans aparece :
org.hibernate.exception.SQLGrammarException: could not execute query
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.loader.Loader.doList(Loader.java:2148)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
at org.hibernate.loader.Loader.list(Loader.java:2024)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:375)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:308)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:153)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1106)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at Negocio.Data.BuscaTodos(Data.java:92)
at Web.Chamados.geraPagina(Chamados.java:88)
at Web.Chamados.processRequest(Chamados.java:51)
at Web.Chamados.doGet(Chamados.java:120)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(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.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.sql.SQLException: Unknown column 'eventos0_.usuario_id' in 'field list'
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2975)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1600)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1695)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3004)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1128)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1222)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:76)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:139)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1669)
at org.hibernate.loader.Loader.doQuery(Loader.java:662)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
at org.hibernate.loader.Loader.doList(Loader.java:2145)
meu metodo que faz a busca:
public static List BuscaTodos(String objeto) {
Session sessao = (Session) HibernateUtility.getSession(); //Abrindo uma sessão
Transaction transaction = sessao.beginTransaction(); //Iniciando uma transação
Query select = sessao.createQuery("from "+objeto);
List objetos = select.list();
transaction.commit(); //Finalizando a transação
sessao.close(); //Fechando a sessão
return objetos;
}
e aqui esta minha classe que estou buscando no BD
[code]
public class Eventos {
/** Creates a new instance of Eventos */
private int id, opcao,usuario_id;
private String data;
public Eventos() {
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getOpcao() {
return opcao;
}
public void setOpcao(int opcao) {
this.opcao = opcao;
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
public int getUsuario_id() {
return usuario_id;
}
public void setUsuario_id(int usuario_id) {
this.usuario_id = usuario_id;
}
}[/code]
e finalmente … meu mapeamento :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="Dados.Eventos" table="eventos_chamados">
<id name="id">
<generator class="increment"/>
</id>
<property name="usuario_id"/>
<property name="data"/>
<property name="opcao"/>
</class>
</hibernate-mapping>
a chamada ao metodo:
Iterator iter = Data.BuscaTodos("Eventos").iterator();
i=0;
while (iter.hasNext()){
Eventos eventos = (Eventos) iter.next();
if (eventos.getOpcao()==opcoes.getId())
i++;
}
depois eu so mostro o i
aguardo a ajuda de vocês
abraços