Fórum Ajuda com querie Hibernate #467509

21/01/2014

0

Olá tenho o seguinte metodo:

public void localizaPessoa(String nome) {
List<Pessoas> busca = new ArrayList<Pessoas>();
Session session = HibernateUtil.getInstance().getSession();
String baseSQL = "from pessoas in class com.beans.Pessoas where pessoas.nome like '%" + nome + "%'";
Pessoas bean = (Pessoas) session.createQuery(baseSQL).uniqueResult();
session.close();
if (bean != null) {
busca.add(bean);

gridControl1.getVOListTableModel().clear();
for (int p = 0; p < busca.size(); p++) {
gridControl1.getVOListTableModel().addObject(busca.get(p));
}
}
}

Assim consigo preencher a grid conforme o que foi digitando no campo de busca só que consigo buscar 1 resultado...se usar isso em outra grid com varios nomes iguais não funciona, ja tentei tirar o "uniqueResult()" , não consigo retornar nomes iguais.
No aguardo.
Aurelio Maica

Aurelio Maica

Responder

Posts

22/01/2014

Fabiano Carvalho

Não entendi muito bem a sua dúvida.
Mas pelo que entendi falta o WHILE no RESULTADO obtido.
Responder

Gostei + 0

22/01/2014

Carlos Proença

Fala Aurelio blz?

to dando uma passadinha rapida pelo forum.... entao vamos la


Cara com o unique Result só vai retorna um mesmo.... e não preicsa de tudo isso no HQL, tambem tenta dar um trim() no nome para que não venha com espaço...

uma dica usa Criteria pra fazer as consultas acho que vc não vai ficar tao perdido.....

na questão dos nomes que são retornados é só configurar o hibernate para showSql e ver qual o sql gerado e testar no banco.....


Responder

Gostei + 0

30/01/2014

Aurelio Maica

Segue a solução se alguem precisar:

public void localizaPessoa(String nome) {
List<Pessoas> busca = new ArrayList<Pessoas>();
Session session = HibernateUtil.getInstance().getSession();
String baseSQL = "from pessoas in class com.beans.Pessoas where pessoas.nome like '%" + nome + "%'";
busca = session.createQuery(baseSQL).list();
session.close();
if (busca != null) {


gridControl1.getVOListTableModel().clear();
for (int p = 0; p < busca.size(); p++) {
gridControl1.getVOListTableModel().addObject(busca.get(p));
}
}
}
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar