Imprimir um array de objetos [Resolvido]

Oi pessoal,

Me deu um branco, estou imprimindo uma lista de varios objetos.
Como faço para puxar os metodos getNome e getDescricao deles ?

DAO:

public Collection<Usuario> ListaUsuario(){ Session sessao = HibernateUtil.getSession(); return (Collection<Usuario>) sessao.createQuery("from Usuario" ).list(); }

Teste:
system.out.println(ud.ListaUsuario()) ----> ???

Classe Usuario

[code]
package classes;

import java.util.ArrayList;
import java.util.List;

public class Usuario {
Integer id;
String nome;
String rg;
String cpf;

public Integer getId() {
	return id;
}
public void setId(Integer id) {
	this.id = id;
}
public String getNome() {
	return nome;
}
public void setNome(String nome) {
	this.nome = nome;
}
public String getRg() {
	return rg;
}
public void setRg(String rg) {
	this.rg = rg;
}
public String getCpf() {
	return cpf;
}
public void setCpf(String cpf) {
	this.cpf = cpf;
}
// @Override
public String toString() {
	return "Usuario [cpf=" + cpf + ", id=" + id + ", nome=" + nome
			+ ", rg=" + rg + "]\n";
	
}

}

Já que vc quer listar os objetos, por que não usa List no lugar de Coletion?

// acesse a lista
Collection<Usuario> lista = x.listaUsuario();
// obs: quando se trata de uma função, costuma-se
// usar a primeira palavra começando em minusculo

// itere sobre a lista , em outras palavras, percorra a lista ultilizando seu iterador
for (Iterator<Usuario> i =  lista.iterator(); i.hasNext(); )
{
	// pegue elemento por elemnto da lista a cada iteração do laço
	Usuario u = i.next();

	// use e abuse
	system.out.println(u.getName());
}

flw, t+

Nossa, iterator nesse caso não né?
Use o foreach e itere sobre o seu Objeto usuário.

simples…

for(Usuario user : suaCollection) {
   user.getNome();
   //e o que mais desejar
}

Ele percorrer elemento a elemento em sua lista e para cada elementro encontrado atribui a variavél user.
Ok?

Abraços.

COntinua imprimindo isso =/

Hibernate: /* from Usuario */ select usuario0_.id as id1_, usuario0_.nome as nome1_, usuario0_.rg as rg1_, usuario0_.cpf as cpf1_ from usuario usuario0_

Como?
Poste o seu código.

que vacilo hein…
isso acontece pq sua entidade é herdada pelo javassit, daí seu getters está sobrescritos

sugestão: crie um construtor de cópia e use uma entidade desanexada

public class Usuario
{
	public Usuario(Usuario u)
	{
		nome = u.nome;
		cpf = u.cpf;
	}
}

...

// o for convencional ou o foreach fica por gosto de fregês
for (Iterator<Usuario> i =  lista.iterator(); i.hasNext(); )
{
	// agora vc terá um pobjeto "puro"
	Usuario u = new Usuario(i.next());
	System.out.println(u.getName());
}

procure pela documentação do hibernate se existe algum recurso q faça isso, quem sabe já possui… mas eu nunca precisei

flw, t+

Oi Pessoal.

Obrigado pela ajuda

Eu testei todos os modos e nao consegui resolver infelizmente.
Deu certo uma gambiarra que eu fiz, trocando o metodo do DAO de Query select = sessao.createQuery(from Usuario);
para Criteria select = sessao.createCriteria(Usuario.class);

Obrigado a todos
Agora vou tentar achar como faço para listar baseado em um parametro