Hi,
first of all please excuse me for my poor english.
i am a java developer, and i'm using hibernate to implement persistence.
Using Expression.ilike method i had some compatibility problem becouse of
the fixed behaviour of converting fields to lowercase.
So i modified org.hibernate.Criteria.LikeExpression and also
org.hibernate.Criteria.LikeExpressionIlikeExpression classes, to implement
the possibility of choosing the preferred converting mode:
either uppercase or lowercase.
So what i obtained is something like this:
CLASS: org.hibernate.Criteria.IlikeExpression
....
@Deprecated
protected IlikeExpression(String propertyName, String value, MatchMode
matchMode) {
this( propertyName, matchMode.toMatchString(value),
CONVERT_MODE_LOWER_CASE);
}
protected IlikeExpression(String propertyName, String value, MatchMode
matchMode, int CONVERT_MODE) {
this( propertyName, matchMode.toMatchString(value), CONVERT_MODE);
}
....
CLASS: org.hibernate.Criteria.LikeExpression
protected LikeExpression(String propertyName, String value,
MatchMode matchMode, Character escapeChar, boolean ignoreCase,
int CONVERT_MODE) {
this(propertyName, matchMode.toMatchString(value), escapeChar,
ignoreCase, CONVERT_MODE);
}
@Deprecated
protected LikeExpression(String propertyName, String value,
MatchMode matchMode, Character escapeChar, boolean ignoreCase) {
this(propertyName, matchMode.toMatchString(value), escapeChar,
ignoreCase, LikeExpression.CONVERT_MODE_LOWER_CASE);
}
both solutions are compatible with the old behaviour, but now i can choose
between uppercase or lowercse convertion.
If you think this could be a correct approach to this problem, please answer
me and i will give you the whole source code reguarding the modify.
Thanks for your attention.
Best Regards
--
Andrea Tomassi
Show replies by date