Olá colegas, sou novo por aqui
Depois de tentar por mais de um dia resolver um problema, vim pedir ajuda
Segue o código
CLASSE BAIRRO
package DeltaEscolarWeb.EntityPojo;
import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.Id;
@Entity
public class Bairro implements Serializable {
private static final long serialVersionUID = 1L;
//@Column(insertable=false)
//@SequenceGenerator( name = "BAIRRO_SEQ", sequenceName = "S_BAIRRO", allocationSize = 1 )
//@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "BAIRRO_SEQ")
@Id
private long CODIGO;
private String BAIRRO;
public String getBAIRRO() {
return BAIRRO;
}
public void setBAIRRO(String BAIRRO) {
this.BAIRRO = BAIRRO;
}
public long getCODIGO() {
return CODIGO;
}
public void setCODIGO(long CODIGO) {
this.CODIGO = CODIGO;
}
}
CLASSE BAIRRODAO
package DeltaEscolarWeb.PersistenceDao;
import DeltaEscolarWeb.EntityPojo.Bairro;
import DeltaEscolarWeb.HibernateConnection.HibernateConnection;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
public class BairroDao {
private Session session;
public BairroDao(Session session) {
this.session = session;
}
public BairroDao() {
this.session = HibernateConnection.getInstance().getSessionWithBeginTransaction();
}
private long novoCodigo() {
Session ses = HibernateConnection.getInstance().getSessionWithBeginTransaction();
Query query = ses.createSQLQuery("SELECT NEXT VALUE FOR S_BAIRRO FROM RDB$DATABASE");
return Long.parseLong(query.uniqueResult().toString());
}
public boolean Inserir(Bairro bairro) {
Session s = HibernateConnection.getInstance().getSessionWithBeginTransaction();
try {
System.out.println("cheguei no insert do dao");
bairro.setCODIGO(novoCodigo());
s.persist(bairro);
s.getTransaction().commit();
s.close();
return true;
} catch (Exception e) {
e.printStackTrace();
s.getTransaction().rollback();
return false;
}
}
public List<Bairro> ListaByCodigo(Bairro bairro) {
Session s = HibernateConnection.getInstance().getSessionWithBeginTransaction();
System.out.println("cheguei ao ListaByCodigo do dao");
Query query = s.createSQLQuery("SELECT * FROM BAIRRO WHERE BAIRRO.CODIGO=" + bairro.getCODIGO());
List<Bairro> Lista = query.list();
s.getTransaction().commit();
s.close();
return Lista;
}
public List<Bairro> ListaTodos() {
Session s = HibernateConnection.getInstance().getSessionWithBeginTransaction();
System.out.println("cheguei ao ListaTodos do dao");
Query query = s.createSQLQuery("SELECT * FROM BAIRRO");
List<Bairro> Lista = query.list();
s.getTransaction().commit();
s.close();
return Lista;
}
}
CLASSE BAIRROBEAN
package JavaBeans;
import DeltaEscolarWeb.PersistenceDao.BairroDao;
import DeltaEscolarWeb.EntityPojo.Bairro;
import java.util.List;
public class BairroBean {
private BairroDao bairrodao = new BairroDao();
private Bairro bairro = new Bairro();
private List<Bairro> lst;
public BairroBean() {
}
public Bairro getBairro() {
return bairro;
}
public void setBairro(Bairro bairro) {
this.bairro = bairro;
}
public String Inserir() {
System.out.println("cheguei no inserir do bean");
if (bairrodao.Inserir(bairro) == true) {
return "case1";
} else {
return "case2";
}
}
public List<Bairro> getLst() {
System.out.println("cheguei no getLista do bean");
lst = bairrodao.ListaTodos();
if (lst.isEmpty()) {
System.out.println("lista vazia");
} else {
System.out.println("lista com conteudo");
}
return lst;
}
public void setLst(List<Bairro> lst) {
this.lst = lst;
}
/* public List<Bairro> getLista() {
System.out.println("cheguei no getByCodigo do bean");
lista = bairrodao.ListaByCodigo(bairro);
if (lista.isEmpty()) {
System.out.println("lista vazia");
} else {
System.out.println("lista com conteudo");
}
return lista;
} */
}
PÁGINA JSF
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%--
This file is an entry point for JavaServer Faces application.
--%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<f:view>
<h:dataTable var="Bairro" value="#{BairroBean.lst}">
<h:column>
<f:facet name="header">
<h:outputText value="BAIRRO"/>
</f:facet>
<h:outputText value="#{Bairro.BAIRRO}"/>
</h:column>
</h:dataTable>
</f:view>
</body>
</html>
SAÍDA DO TOMCAT 6.0.18
segue mensagens personalizadas dentro dos métodos:
[color=darkred]cheguei no getLista do bean[/color]
[color=red]cheguei ao ListaTodos do dao[/color]
[color=orange]Hibernate:
SELECT
*
FROM
BAIRRO[/color]
[color=blue]lista com conteudo[/color]
segue mensagem de erro:
25/02/2009 17:43:35 com.sun.faces.lifecycle.LifecycleImpl phase
WARNING: executePhase(RENDER_RESPONSE 6,com.sun.faces.context.FacesContextImpl@19facbc) threw exception
java.lang.NumberFormatException: For input string: “BAIRRO”
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:447)
at java.lang.Integer.parseInt(Integer.java:497)
at javax.el.ArrayELResolver.coerce(ArrayELResolver.java:153)
at javax.el.ArrayELResolver.getValue(ArrayELResolver.java:45)
at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:64)
at org.apache.el.parser.AstValue.getValue(AstValue.java:118)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
at org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:101)
at javax.faces.component.UIOutput.getValue(UIOutput.java:173)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:189)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:320)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:200)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:836)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:279)
at com.sun.faces.renderkit.html_basic.TableRenderer.encodeChildren(TableRenderer.java:307)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
at com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:245)
at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:176)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
Devido ao fato de não ter experiência posso estar comentendo erros banais
O que pode ser? podemos acompanhar pelas mensagens que coloquei nos métodos que eles parecem estar funcionando corretamente
Mas pelo fato de que estou usando createSQLQuery do hibernate, pensei que este não está devolvendo uma lista compatível com o dataTable do JSF
Então o que está errado, porque não está iterando?
Agradeço por qualquer ajuda