Retornar uma lista de nomes

Olá pessoal;

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:

    [code]public List<Funcionario>buscaPeloNomeListaFuncionarioHQL(String nome){
	String hql = "from Funcionario f where f.nome like:busca";
	Query query = this.s.createQuery(hql);
	query.setParameter("busca","%" + nome + "%");
	return query.list();
	
}[/code]

Esse é o código que deveria trazer os nomes do banco para o TextArea. Estou usando Hibernate.

               [code]buttonConsulta.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() {
		public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {

			Session s = HibernateUtil.getSession();
			FuncionarioDao dao = new FuncionarioDao(s);
			///Aqui ele me pede uma String, mas eu quero todos os nomes///
                            List<String> listaDeNomes = dao.buscaNomeDeFuncionarios("");

			for (String nome : listaDeNomes) {
				textAreaRecebeConsulta.setText(nome);
			}

		}[/code]
	});

Espero que alguem possa me ajudar.
Valeu.

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.

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

[quote=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

[/quote]

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

http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JTextArea.html#append(java.lang.String)

Mudei a estratégia…fiz dessa forma e “quase” deu certo. O problema é que ele só retorna os nomes que são iguais.
No caso só “Arthur”.

Ficou assim:

public List<Funcionario> buscaPeloNome(String nome) { Criteria c = this.s.createCriteria(Funcionario.class); c.add(Restrictions.ilike("nome",nome, MatchMode.ANYWHERE)); c.addOrder(Order.asc("nome")); c.setMaxResults(10); return c.list(); }

E no evento aonde chamo os nomes para o TextArea ficou assim:

     [code]    buttonConsulta.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() {
		public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {

			String conteudo = consulta();
			textAreaRecebeConsulta.setText(conteudo);
					
		}

		
	});

        ////Método Consuta///
       private String consulta() {
	
	Session s = HibernateUtil.getSession();
	FuncionarioDao dao = new FuncionarioDao(s);
	/////Nesse momento ele exige que eu coloque algum nome///
	List<Funcionario> lista = dao.buscaPeloNome("Arthur");
	
	StringBuffer sb = new StringBuffer();
	for (Funcionario f: lista) {
		sb.append(f.getNome() + "\r\n");
	}
	return sb.toString();
}[/code]

Quase deu certo…mas preciso de todos os nomes.
Valeu pelo apoio gente.

Consegui…encontrei o erro.
Valeu gente.