Fazer pesquisa em PostgreSQL + Hibernate (Sem Diferenciar Maiusculas e Minusculas) [Resolvido]

4 respostas
DeGuedes

Ae galera, mais uma vez preciso da ajuda de voces…
Estou usando o Hibernate + PostgreSQL, e me surgiu uma dúvida na hora q vou pesquisar algum cliente específico, exemplo:

Cliente = João Manuel

Na hora q eu vou pesquisar preciso escrever o “J” em maisculo ,se nao ele me retorna vazio…

Tem alguma função. ou propriedade q eu possa mudar isso? Para q eu consiga procurar por “joao” e aparecer o resultado?

Obrigado

4 Respostas

K

Tu usa criteria ou hql pra fazer tuas querys ? Posta ai como tu ta fazendo.

danielso2007

Se for critéria: Criteria c = getSession().createCriteria(Cliente.class); c.add(Restrictions.eq("nome", id).ignoreCase());

Tem esse também, em HQL, mas não testei:

DeGuedes

public List<Pessoa> PesquisaClientes(String nome, Estabelecimento estabelecimento, Sit_pessoa situacao) { EntityManager em = getEntityManager(); try { Query q = em.createQuery("select object(o) from Pessoa as o where o.nome_razao like :pes and o.estabelecimento = :codigo and o.tipo_cliente = :cliente and o.situacao = :sit"); q.setParameter("pes", "%" + nome + "%"); q.setParameter("codigo", estabelecimento); q.setParameter("cliente", true); q.setParameter("sit", situacao); return q.getResultList(); } finally { em.close(); } }

Uso HQL, vo tenta essa do [b]LOWER[/B]
Muito Obrigado pelas respostas! :smiley:

DeGuedes

Resolvidoooo MUITO OBRIGADO gente!!! segue o codigo se alguem precisar!

public List<Pessoa> PesquisaClientes(String nome, Estabelecimento estabelecimento, Sit_pessoa situacao) { EntityManager em = getEntityManager(); try { Query q = em.createQuery("select object(o) from Pessoa as o where lower(o.nome_razao) like :pes and o.estabelecimento = :codigo and o.tipo_cliente = :cliente and o.situacao = :sit"); q.setParameter("pes", "%" + nome.toLowerCase() + "%"); q.setParameter("codigo", estabelecimento); q.setParameter("cliente", true); q.setParameter("sit", situacao); return q.getResultList(); } finally { em.close(); } }

Criado 1 de novembro de 2010
Ultima resposta 1 de nov. de 2010
Respostas 4
Participantes 3