Gente!
Eu tenho uma tabela ProdEst (id_prod e id_estacao). Criei uma função (que segundo meu teste está dando certinho) que, ao se passar como parâmetro o id_prod…me retorna todas as ocorrências de id_estacao para este id_prod. Utilizo o Hibernate.
//este método está dentro de uma classe ProdEstDAO.java
public java.util.List filtra_prod(int id_prod) {
java.util.List list_produto_est = null;
try{
Session sessao = HibernateUtil.currentSession();
Transaction transacao = sessao.beginTransaction();
Produto pp = (Produto)sessao.get(Produto.class,id_prod);
Iterator ite = pp.getestacoes().iterator();
while(ite.hasNext()){
Estacao est= (Estacao) ite.next();
list_produto_est.add(est);
}
transacao.commit();
sessao.close();
}catch(Exception ex) {
ex.printStackTrace();
return null;
}
return list_produto_est;
}
Esta lista contém os registros do BD que eu quero. Agora como eu faço para exibir o conteúdo dela? O id_prod vai ser o parametro que eu passei mesmo…mas e o id_estacao, como faço para exibir? sendo que eu não get/ser para minha tabela de ligação ProdEst.
Tentei rodar o código abaixo para teste, compilou certinho:
ProdEstDAO ProdEstDAO = new ProdEstDAO();
List lista = new ArrayList();
lista = ProdEstDAO.filtra_prod(1001);
for (int x=0; x<lista.size(); x++)
{
Estacao est = (Estacao)lista.iterator().next();
System.out.println(est.getId_estacao());
System.out.print("1001");
System.out.print(x);
System.out.println(lista.get(x));
}
olhe a mensagem que dá ao rodar:
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
java.lang.NullPointerException
at inpe.dsa.bdi.dao.ProdEstDAO.filtra_prod(ProdEstDAO.java:135)
at inpe.dsa.bdi.vo.teste.main(teste.java:47)
Exception in thread “main” java.lang.NullPointerException
at inpe.dsa.bdi.vo.teste.main(teste.java:49)
Java Result: 1
BUILD SUCCESSFUL (total time: 2 seconds)
PQ NAO IMPRIMIU O CONTEÚDO DOS MEUS SYSTEM.OUT ?
Qual a melhor forma de eu exibir as ocorrencias de estacao para este prod? O Jaireilton me deu um exemplo legal, mas vindo de uma LISTA, como eu estou usando, não estou sabendo empregar…
VALEU