Olá mais uma vez !
Dúvida: se eu não possuo uma classe que represente uma tabela no banco (no caso uma tabela de ligação), como eu consulto registros desta tabela de ligação ???
Many-to-many Consulta
6 Respostas
Aquele mapeamento do Hibernate que você postou aqui no PJ?
Se for, é só você consultar uma das classes, a coleção já virá preenchida…
ex.:
Session sessao = sessionFactory.openSession();
Estacao est = (Estacao) sessao.get(Estacao.class, Integer.valueOf(1));
Isso já vai trazer a Estacao 1 com todos os seus Satelites.
Então como eu faço para exibir cada registro de Sat_Est em que a Estação seja código 1?
O código q vc postou acima captura…e pra exibir? Estou pesquisando o HashSet…mas não achei nenhum método em que eu capture um determinado elemento…tipo:
estacao.getfontes().“elemento que eu quero”…
valeuuu
Veja se ajuda:
Session sessao = sessionFactory.openSession();
Estacao est = (Estacao) sessao.get(Estacao.class, Integer.valueOf(1));
Iterator ite = est.getSatelites().iterator();
while(ite.hasNext()){
Satelite sat = ite.next();
System.out.println(sat.getId());
}
oww colega , valeu !!!
Eu estou tentando algo em cima disto q vc me passou (achei na net), mas nao estava sabendo como pegar o id…nao tinha pensado em guardar em um objeto q eu queria ( no caso satelite) o resultado de next()…
Só pra encher o saco mais um pouquinho (srsrrsrs)…como eu faria se eu quisesse que uma consulta me mostrasse o conteudo da tabela Sat_Est inteira?? Estou quebrando a cabeca aqui com o List… como eu fiz para as outras classes…mas como na tenho uma classe mapeada estou tendo dificuldades (como sempre…rssrrs)
OBrigada mais uma vez!
Criteria crit = sessao.createCriteria(Estacao.class);
List lista = crit.list();
Iterator iteEst = lista.iterator();
while(iteEst.hasNext()){
Estacao est = (Estacao) iteEst.next();
Iterator iteSat = est.getSatelites().iterator();
while(iteSat.hasNext()){
Satelite sat = (Satelite) iteSat.next();
//faz qualquer coisa com sat
}
}
valeuuu!