Estou com uma tremenda duvida. Tenho um método que busca uma lista de nomes no banco. Agora, preciso
jogar esses nomes em um TextArea. O problema é que não estou acertano. Só consigo trazer o ultimo nome.
Alguém pode me ajudar? Só quero trazer uma lista.
Esse é o método que retorna a lista:
publicList<Funcionario>buscaPeloNomeListaFuncionarioHQL(Stringnome){Stringhql="fromFuncionariofwheref.nomelike:busca"; Query query = this.s.createQuery(hql); query.setParameter("busca","%" + nome + "%");returnquery.list();}
Esse é o código que deveria trazer os nomes do banco para o TextArea. Estou usando Hibernate.
buttonConsulta.addSelectionListener(neworg.eclipse.swt.events.SelectionAdapter(){publicvoidwidgetSelected(org.eclipse.swt.events.SelectionEvente){Sessions=HibernateUtil.getSession();FuncionarioDaodao=newFuncionarioDao(s);///Aqui ele me pede uma String, mas eu quero todos os nomes///List<String>listaDeNomes=dao.buscaNomeDeFuncionarios("");for(Stringnome:listaDeNomes){textAreaRecebeConsulta.setText(nome);}}
Cara… não sei se entendi bem, mas o seu DAO está pegando a lista que o buscaPeloNomeListaFuncionarioHQL, montando (ou reformulando) a lista de nomes de funcionários e retornando uma lista também, correto?
A buscaNomeDeFuncionarios passando um parametro (vazio) deveria retornar a lista que o buscaPeloNomeListaFuncionarioHQL retorna…
Se me equivoquei, desconsidere…
Espero ter ajudado.
marciogm
Amigo não sei se entendi sua questão, porém quando vc faz …
for (String nome : listaDeNomes) {
textAreaRecebeConsulta.setText(nome);
}
acho que você deveria fazer esse foreach passando todos os nomes, para uma String só, e então só depois setar a String no textArea
S
Ssalgado
marciogm:
Amigo não sei se entendi sua questão, porém quando vc faz …
for (String nome : listaDeNomes) {
textAreaRecebeConsulta.setText(nome);
}
acho que você deveria fazer esse foreach passando todos os nomes, para uma String só, e então só depois setar a String no textArea
marciogm está certo.
Você deve concatenar a string primeiro para depois adicionar na textArea.
Se sua textArea for uma JTextArea você pode usar o método append.
for (String nome : listaDeNomes) {
textAreaRecebeConsulta.append(nome);
}
E no evento aonde chamo os nomes para o TextArea ficou assim:
buttonConsulta.addSelectionListener(neworg.eclipse.swt.events.SelectionAdapter(){publicvoidwidgetSelected(org.eclipse.swt.events.SelectionEvente){Stringconteudo=consulta();textAreaRecebeConsulta.setText(conteudo);}});////Método Consuta///privateStringconsulta(){Sessions=HibernateUtil.getSession();FuncionarioDaodao=newFuncionarioDao(s);/////Nesse momento ele exige que eu coloque algum nome///List<Funcionario>lista=dao.buscaPeloNome("Arthur");StringBuffersb=newStringBuffer();for(Funcionariof:lista){sb.append(f.getNome()+"\r\n");}returnsb.toString();}
Quase deu certo...mas preciso de todos os nomes.
Valeu pelo apoio gente.