Método genérico para construir query dinamica com JPA

1 resposta
d34d_d3v1l

Acho que o título diz tudo…

Alguém ja fez isso? Pq eu pesquisei mto no google… e nao achei nada satisfatório…

O mais perto que consegui chegar foi:

//depois eu posto o código aqui pq esta no serviço

mas não é muito legal, pq só trata os dados como String… Ali por exemplo não consigo encontrar pelo ID,
como também não consigo fazer JOIN… Nem pesquisar por datas por exemplo…

Por aí vai… kkkk

aposto que alguém ja fez isso :frowning: nao é possível q não!
asdhad

abraços

1 Resposta

d34d_d3v1l
// filters
	List<Predicate> predicates = new ArrayList<Predicate>();

	for (Entry<String, Object> entry : myfilters.entrySet()) {
	    //Selecione... não é um filtro válido :)
	    if(entry.getValue().equals(noneSelected)){
		continue;
	    }

	    Expression<String> literal = criteriaBuilder.literal( "%"+entry.getValue()+"%");
	    predicates.add(criteriaBuilder.like(from.<String> get(entry.getKey()), literal));
	}
	
	accountQuery.where(predicates.toArray(new Predicate[predicates.size()]));

aí é onde consegui chegar :)

Criado 21 de novembro de 2012
Ultima resposta 22 de nov. de 2012
Respostas 1
Participantes 1