diff --git a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/query/matcher/Matcher.java b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/query/matcher/Matcher.java index 5e0fc07fa86..da2a6e265f2 100644 --- a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/query/matcher/Matcher.java +++ b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/query/matcher/Matcher.java @@ -19,6 +19,7 @@ import com.evolveum.midpoint.repo.sql.query.QueryException; import com.evolveum.midpoint.repo.sql.query.restriction.ItemRestrictionOperation; import org.hibernate.criterion.Criterion; +import org.hibernate.criterion.MatchMode; import org.hibernate.criterion.Restrictions; import org.hibernate.criterion.SimpleExpression; @@ -71,13 +72,13 @@ protected Criterion basicMatch(ItemRestrictionOperation operation, String proper criterion = Restrictions.isNull(propertyName); break; case STARTS_WITH: - criterion = Restrictions.like(propertyName, value + "%"); + criterion = Restrictions.like(propertyName, (String) value, MatchMode.START); break; case ENDS_WITH: - criterion = Restrictions.like(propertyName, "%" + value); + criterion = Restrictions.like(propertyName, (String) value, MatchMode.END); break; case SUBSTRING: - criterion = Restrictions.like(propertyName, "%" + value + "%"); + criterion = Restrictions.like(propertyName, (String) value, MatchMode.ANYWHERE); break; default: throw new QueryException("Unknown operation '" + operation + "'.");