Hibernate / algaworks

1 resposta
L

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?


1 Resposta

ViniGodoy

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).
Criado 21 de março de 2012
Ultima resposta 21 de mar. de 2012
Respostas 1
Participantes 2