Problema para criar uma query com Criteria JPA [Resolvido]

2 respostas
well

Pessoal estava usando a session do Hibernate, então resolvi seguir a esp. JPA, entityManager ETC…

Agora nao estou conseguindo criar essa query aqui, que no HIbernate ficaria assim:

public List<Produto> busca(String nome){
return session.createCriteria(Produto.class).add(Restrictions.ilike("nome",nome, MatchMode.ANYWHERE)).list();
}

estou tentado assim com JPA:

public List<Produto> busca(String nome) {
		CriteriaBuilder cb = this.em.getCriteriaBuilder();
		CriteriaQuery<Produto> criterio = cb.createQuery(Produto.class);
		
		
		Root<Produto> produto = criterio.from(Produto.class);
		//criterio.from(cb.like(Produto.class, nome));
		
		return em.createQuery(criterio).getResultList();
		
	}

O like eu não estou conseguindo… :frowning:

alguem pode me ajudar, desde de ja agradeço.

2 Respostas

marlonmca

Eu ontem estava pesquisando sobre o pq do meu criteria estar trazendo o select vazio ai por acaso achei nesse site uma explicação que não me ajudou, mas pode te ajudar.

http://www.infoblogs.com.br/view.action?contentId=46010&Divisions-com-Hibernate-uso-avancado-da-Criteria-API.html

Eu acho que pode ser um ponta pé inicial.

well

Resolvi delegar para o criteria do Hibernate mesmo, criteria da JPA é muito complicada de enteder…

public List<Produto> busca(String nome) {
		Session session = (Session) em.getDelegate();// pronto é so fazer isso

		return session.createCriteria(Produto.class).add(
				Restrictions.ilike("nome", nome, MatchMode.ANYWHERE)).list();
	}
Criado 15 de setembro de 2010
Ultima resposta 15 de set. de 2010
Respostas 2
Participantes 2