cara eu ja fiz uma consulta com o hibernate a muito tempo nao vou arriscar em escrever pq posso postar algo errado,bom tem duas maneiras de vc fazer ista uma é usando criteria e outra que nao me arrisco a escrever o codigo é hsql procure por isso e nao se esqueca de mexer no hashcode e no equals para qnd pegar na base para forcar ele ser o mesmo objeto que esta na memoria ja tive muito problema com isso qnd fazia consulta via hsql.
[quote=Weslley][color=darkblue]Só q este Array[3] é do tipo Object… se eu não me engano…
Como pegaria estas informações ??[/color][/quote]
Simples:
metodo(HQL)
public List buscarPessoa(){
Query q = session.createQuery("SELECT vo.id, vo.nome, vo.telefone FROM PessoaVo vo");
return q.list();
}
obtendo o valores do metodo acima
//caso queira jogar o resultado num objeto pessoa
private Pessoa pessoa;
//+metodos encapsuladores
/**
* Documentação dos indíces da Array de objetos correspondentes a hql da classe PessoaDAO do metodo buscarPessoa
* posicao[0]object[0] = vo.id
* posicao[1]object[1] = vo.nome
* posicao[2]object[2] = vo.telefone
*/
List list = new PessoaDAO().buscarPessoa();
//caso queira jogar numa lista de pessoa
List<Pessoa> listaPessoa = new ArrayList<Pessoa>();
if(!list.isEmpty()){
for(Object[] obj: (List<Object[]>)list){
pessoa = new Pessoa();//novo objeto, novo registro a cada interação
pessoa.setId((Integer) obj[0]);
pessoa.setNome((String) obj[1]);
pessoa.setTelefone((String) obj[2]);
//caso queira ter uma lista de pessoas
listaPessoa.add(pessoa);
}
}
public List buscarPessoa(){
Query q = session.createQuery(“SELECT new meuPacoteDeBeans.PessoaVo(vo.id, vo.nome, vo.telefone) FROM PessoaVo vo”)
return q.list();
}
meuPacoteDeBeans é o caminho para encontrar teu bean…
no teu bean crie o construtor :
public Pessoa(Integer id, String nome, String telefone) {
this.id = id;
this.nome = nome;
this.telefone=telefone;
}
Assim essa consulta irá retornar um list de objetos Pessoa… fazendo valer a orientação a objetos!
[quote=ebarros][quote=Weslley][color=darkblue]Só q este Array[3] é do tipo Object… se eu não me engano…
Como pegaria estas informações ??[/color][/quote]
Simples:
metodo(HQL)
public List buscarPessoa(){
Query q = session.createQuery("SELECT vo.id, vo.nome, vo.telefone FROM PessoaVo vo");
return q.list();
}
obtendo o valores do metodo acima
//caso queira jogar o resultado num objeto pessoa
private Pessoa pessoa;
//+metodos encapsuladores
/**
* Documentação dos indíces da Array de objetos correspondentes a hql da classe PessoaDAO do metodo buscarPessoa
* posicao[0]object[0] = vo.id
* posicao[1]object[1] = vo.nome
* posicao[2]object[2] = vo.telefone
*/
List list = new PessoaDAO().buscarPessoa();
//caso queira jogar numa lista de pessoa
List<Pessoa> listaPessoa = new ArrayList<Pessoa>();
if(!list.isEmpty()){
for(Object[] obj: (List<Object[]>)list){
pessoa = new Pessoa();//novo objeto, novo registro a cada interação
pessoa.setId((Integer) obj[0]);
pessoa.setNome((String) obj[1]);
pessoa.setTelefone((String) obj[2]);
//caso queira ter uma lista de pessoas
listaPessoa.add(pessoa);
}
}