Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

CriteriaBuilder.like() com "%" ?

No capítulo "Consultas dinâmicas com Criteria API", o método criteriaBuilder.like(...) utiliza concatenação de strings e adiciona os sinais "%" antes e depois do argumento (o valor digitado pelo usuário).

É isso mesmo que precisa ser informado? Para usar este método eu devo adicionar estes sinais antes e depois da string a ser buscada?

3 respostas

Oi Henrique, tudo bem?

O símbolo % não é obrigatório. É um wildcard pra definir padrões de busca.

Por exemplo, se quisermos buscar os usuários que seus nomes comecem com leo podemos fazer:

criteriaBuilder.like(nomePath, "Leo%")

Podendo então retornar: Leonardo, Leonel, Leo.

Abraços!

Oi Henrique, tudo bem?

Ficou claro?

Abraços!

solução!

Sim, Leonardo, ficou claro, obrigado.

Eu já sabia que o sinal de % antes e depois da String serve para construir o parâmetro de comparação em consultas com o LIKE, de forma semelhante ao SQL.

O que eu quis perguntar (talvez não deixei claro) era de que, como o método corresponde ao LIKE do SQL, se esses sinais de % já não estivessem implícitos, sendo desnecessário mencioná-los.

Mas como você explicou, é necessário sim informar.