To reproduce this:
BooleanExpression patternPredicate = company.name.toLowerCase().like("%My! Text%");
When i execute this i get the exception:
java.sql.SQLDataException: ORA-01424: Zeichen nach dem Escape-Zeichen fehlen oder sind ungültig
The SQL generated from the expression looks like:
lower(company0_.NAME) like ? escape '!'
and the bound value is:
TRACE org.hibernate.type.descriptor.sql.BasicBinder.bind(BasicBinder.java:84) - binding parameter [1] as [VARCHAR] - %My! Text%
Shouldn't querydsl escape the escape character for me? Otherwise i have to do something like:
BooleanExpression patternPredicate = company.name.toLowerCase().like("%My! Text%".replaceAll("!", "!!"), '!');
To reproduce this:
When i execute this i get the exception:
The SQL generated from the expression looks like:
and the bound value is:
Shouldn't querydsl escape the escape character for me? Otherwise i have to do something like: