Many-to-many Consulta

6 respostas
M

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 ???

6 Respostas

J

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.

M

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

J

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()); }

M

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!

J
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
   }
}
M

valeuuu!

Criado 22 de setembro de 2006
Ultima resposta 22 de set. de 2006
Respostas 6
Participantes 2