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.
Mon interrogation vient du fait d'observer dans le SQL généré un lower apparaître.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 criteria.add(Restrictions.ilike("codeProduit", leCritereProduit.getCodeProduit()));
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?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 ....
Extrait de la doc Hibernate :
Criterion . ilike : A case-insensitive "like", similar to Postgres ilike operator
Je vous remercie.
Cordialement,
Thomas
Partager