Restrictions.ilike et sql généré
Bonjour,
Je travaille avec hibernate et Oracle.
Dans le cadre d'une recherche sur un code particulier (recherche sur tout le code, qui peut faire dans le cas présent de 3 à 6 caractères), j'ai créé un objet de type DetachedCriteria, sur lequel j'applique des restrictions.
Code:
1 2
| criteria.add(Restrictions.ilike("codeProduit",
leCritereProduit.getCodeProduit())); |
Mon interrogation vient du fait d'observer dans le SQL généré un lower apparaître.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| Hibernate:
select
produit1_.leProduit as y0_,
sum(this_.nbProduitsEnStock) as y1_,
sum(this_.montantVente) as y2_
from
PRODUIT_PROD this_,
where
....
and lower(this_.codeProduit) like ?
....
group by
....
order by
.... |
Savez-vous d'où cela provient? Je n'ai rien trouvé dans l'API si ce n'est que le ilike est supposé faire une recherche de type case-insensitive...et comme c'est supposé être du case-insensitive, pourquoi restreindre aux résultats qui matcheront en minuscules?
Extrait de la doc Hibernate :
Criterion . ilike : A case-insensitive "like", similar to Postgres ilike operator
Je vous remercie.
Cordialement,
Thomas