Hibernate / algaworks

Galera é o seguinte eu to seguindo uma apostila que peguei de JSF aqui e cheguei em um problema que não estou conseguindo resolver estou tentando fazer uma busca no banco de dados e ta acontecendo esse erro aqui!

21/03/2012 16:18:55 javax.faces.event.MethodExpressionActionListener processAction
GRAVE: ‘org.hibernate.exception.GenericJDBCException’ recebido ao invocar escuta de ação ‘#{consultaContaBean.consultar}’ para o componente ‘j_id_jsp_1189575706_5’
21/03/2012 16:18:55 javax.faces.event.MethodExpressionActionListener processAction
GRAVE: org.hibernate.exception.GenericJDBCException: could not execute query
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.loader.Loader.doList(Loader.java:2231)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2125)
at org.hibernate.loader.Loader.list(Loader.java:2120)
at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:118)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1596)
at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:306)
at com.algaworks.dwjsf.financeiro.negocio.ContaService.listarTodas(ContaService.java:44)
at com.algaworks.dwjsf.financeiro.visao.ConsultaContaBean.consultar(ConsultaContaBean.java:22)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.el.parser.AstValue.invoke(AstValue.java:262)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)
at org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:70)
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:148)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:769)
at javax.faces.component.UICommand.broadcast(UICommand.java:300)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:304)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

AQUI ESTÁ A DOMINIO QUE ESTÁ MAPEADA!

package com.algaworks.dwjsf.financeiro.dominio;

import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
@Table(name=“conta”)
public class Conta {

private Long id;
private Pessoa pessoa;
private String descricao;
private BigDecimal valor;
private TipoConta tipo;
private Date dataVencimento;
private Date dataBaixa;

@Id
@GeneratedValue
public Long getId() {
	return id;
}
public void setId(Long id) {
	this.id = id;
}

@ManyToOne
@JoinColumn(name="pessoa_id")
public Pessoa getPessoa() {
	return pessoa;
}
public void setPessoa(Pessoa pessoa) {
	this.pessoa = pessoa;
}
public String getDescricao() {
	return descricao;
}
public void setDescricao(String descricao) {
	this.descricao = descricao;
}
public BigDecimal getValor() {
	return valor;
}
public void setValor(BigDecimal valor) {
	this.valor = valor;
}

@Enumerated(EnumType.STRING)
public TipoConta getTipo() {
	return tipo;
}
public void setTipo(TipoConta tipo) {
	this.tipo = tipo;
}

@Column(name="data_vencimento")
@Temporal(TemporalType.DATE)
public Date getDataVencimento() {
	return dataVencimento;
}
public void setDataVencimento(Date dataVencimento) {
	this.dataVencimento = dataVencimento;
}


@Column(name="data_baixa")
@Temporal(TemporalType.DATE)
public Date getDataBaixa() {
	return dataBaixa;
}


public void setDataBaixa(Date dataBaixa) {
	this.dataBaixa = dataBaixa;
}


@Override
public int hashCode() {
	final int prime = 31;
	int result = 1;
	result = prime * result + ((id == null) ? 0 : id.hashCode());
	return result;
}
@Override
public boolean equals(Object obj) {
	if (this == obj)
		return true;
	if (obj == null)
		return false;
	if (getClass() != obj.getClass())
		return false;
	Conta other = (Conta) obj;
	if (id == null) {
		if (other.id != null)
			return false;
	} else if (!id.equals(other.id))
		return false;
	return true;
}

}

Aqui está o metodo que chama pesquisa();

@SuppressWarnings(“unchecked”)
public List listarTodas() {
Session session = HibernateUtil.getSession();
try {

		return session.createCriteria(Conta.class).addOrder(Order.desc("dataVencimento")).list();
		
	} finally {
		session.close();
	}
}

Alguem poderia me ajudar?


Por favor, ao postar tópicos:

  1. Evite escrever títulos usando várias letras maiúsculas;
  2. Evite títulos genéricos, que não descrevem o problema como “AJUDA HIBERNATE”, “Socorro” ou “Dúvida”. Se possível, nem sequer escreva que você quer ajuda, pois só o fato de você ter aberto um tópico no fórum já deixou isso claro. Um título melhor seria “GenericJDBCException: could not execute query” ao usar Hibernate com JSF;
  3. Ao postar código, use a tag code para deixa-lo formatado. Há instruções de como fazer isso aqui: http://www.guj.com.br/java/50115-voce-e-novo-no-guj-vai-criar-um-topico-e-colar-seu-codigo-fonte-leia-aqui-antes-por-favor
  4. Leia com atenção a lista de fóruns. Sua aplicação pode ser web, mas sua dúvida é sobre Hibernate, portanto, está enquadrada no fórum de persistência (já movi o tópico).