[RESOLVIDO]Passando pelo List 5 vezes

2 respostas
luxu

Galera debugando meu código coloquei o breakpoint na linha em negrito onde recebe o List<> depois de pesquisado no BD, mas notei que ele para nesse ponto pelo menos 5 vezes sendo q na última a sessão está fechada e estoura o erro na tela…o q estou fazendo de errado? será q é alguma config errada do Hibernate? idéias…

public List<Cidade> getCidades(){ InterfaceDAO<Cidade> cidadeDAO = new HibernateDAO<Cidade>(Cidade.class, FacesContextUtil.getRequestSession()); List<Cidade> cidades = cidadeDAO.getBeans(); return cidades; }

2 Respostas

L

Vẽ se vc faz algo desse tipo:

<c:if test="${not empty obj.cidades}"><!-- Passa a 1 vez --> <c:forEach items="${obj.cidades}" var="cidade"><!-- Passa pela 2 vez --> <c:forEach> </c:if>
Então só no exemplo acima seria feita duas consultas no banco.

Talvez se puder deixar o código assim:

public List<Cidade> getCidades(){ if(this.cidades == null) { InterfaceDAO<Cidade> cidadeDAO = new HibernateDAO<Cidade>(Cidade.class, FacesContextUtil.getRequestSession()); this.cidades = cidadeDAO.getBeans(); } return this.cidades; }

Se não puder deixar como acima, pode colocar as cidades como atributo da requisição, seja no Bean ou no JSP.

luxu

certinho amigo, era isso msm!

Criado 24 de janeiro de 2012
Ultima resposta 24 de jan. de 2012
Respostas 2
Participantes 2