[
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2077?page=c...
]
Tobias Dietl commented on HHH-2077:
-----------------------------------
My code lookes like that:
Criteria c = HibernateUtil.getSession().createCriteria(Ipu.class);
c.add(Expression.like("name", filter, MatchMode.ANYWHERE));
How can I set the escape char here? There is no Expression.like that takes an escape
char!
The signatue is
SimpleExpression like(String propertyName, String value, MatchMode matchMode)
It would be nice to have something similar to
SimpleExpression like(String propertyName, String value, MatchMode matchMode, Character
escapeChar)
What do you think about it?
Providing an escape sequence for Criteria queries
-------------------------------------------------
Key: HHH-2077
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2077
Project: Hibernate3
Type: Improvement
Components: query-criteria
Versions: 3.1.3, 3.2.0 cr1, 3.2.0.cr2, 3.2.0.cr3, 3.2.0.cr4
Environment: Hibernate 3.1.3, MySQL, HSQLDB, Oracle
Reporter: Tobias Dietl
Original Estimate: 3 hours
Remaining: 3 hours
Up to now, there is no way of setting the escape sequence to use for string comparisions
with like for Criteria queries.
This is necessary as MySQL on the one hand and HSQLDB / Oracle on the other behave
differently...
If you want to search for '_abc' in MySQL, you have to use:
value like '\\_abc'
In Oracle or HsqlDB, you have to use:
value like '\_abc'
If you want to switch to another escape sequence like '|' , you can set it in HQL
with value like '|_abc' escape '|'. Unfortunately, there is no way of
setting it for Criteria queries, which would force me to rewrite all my Criteria queries
in HQL. It would really be nice if the feature/improvement would be added...
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira