Fórum Ajuda com querie Hibernate #467509
21/01/2014
0
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
Curtir tópico
+ 0Posts
22/01/2014
Fabiano Carvalho
Mas pelo que entendi falta o WHILE no RESULTADO obtido.
Gostei + 0
22/01/2014
Carlos Proença
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.....
Gostei + 0
30/01/2014
Aurelio Maica
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));
}
}
}
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)