Like hql [resolvido]

6 respostas
M

o que a de errado com esse hql. ele não da resultado algum

from Pessoa as pes where pes.tipo =‘Juridica’ or pes.tipo=‘Fisica’ AND pes.nome like :nome

6 Respostas

Hebert_Coelho

Talvez pode ser o modo como você passa os parâmetros.

Aqui tem um modo que funciona: JPA Consultas e Dicas

Se não me engano na página 6

Hebert_Coelho

Outra coisa, coloque assim: (pes.tipo =‘Juridica’ or pes.tipo=‘Fisica’)

M

na verdade eu passo um parametro assim

get bean

public List<Pessoa> getPessoas() {
		if (filtro.equals("nome")) {
			pessoas = hibernateDao.getFiltro("from Pessoa as pes where pes.tipo ='Juridica' or pes.tipo='Fisica' AND pes.nome like :nome", param, filtro);
		} else if (filtro.equals("tipo")) {
			pessoas = hibernateDao.getFiltro("from Pessoa as pes where pes.tipo ='Juridica' or pes.tipo='Fisica' AND pes.tipo like :tipo", param, filtro);
		} else if (filtro.equals("razaosocial")) {
			pessoas = hibernateDao.getFiltro("from Pessoa as pes where pes.tipo ='Juridica' or pes.tipo='Fisica' AND pes.razaoSocial like :razaosocial", param, filtro);
		} else {
			pessoas = hibernateDao.getPessoas();
		}
		return pessoas;
	}



dao


public List<T> getFiltro(String query, String param, String campo) {
		Session session = HibernateUtil.getSf().openSession();
		session.beginTransaction();
		Query q = session.createQuery(query);
		q.setString(campo, "%" + param + "%");
		List<T> beans = q.list();
		session.getTransaction().commit();
		return beans;
	}

jsf

faço isso com outras paginas e da certo

Hebert_Coelho

Se aí não ta dando certo tem algo que não está certo. Adianta nada nas outras funcionar e aí não. =p

Fez oq eu falei de colocar o () ?

M

agradecido funciono

pessoas = hibernateDao.getFiltro(“from Pessoa as pes where (pes.tipo =‘Juridica’ or pes.tipo=‘Fisica’) AND pes.nome like :nome”, param, filtro);

Y

Se aí não ta dando certo tem algo que não está certo

Criado 18 de junho de 2012
Ultima resposta 19 de jun. de 2012
Respostas 6
Participantes 3