diff --git a/hibernate-dialect/src/main/java/tech/ydb/hibernate/dialect/hint/IndexQueryHintHandler.java b/hibernate-dialect/src/main/java/tech/ydb/hibernate/dialect/hint/IndexQueryHintHandler.java index b0418e7..f397aab 100644 --- a/hibernate-dialect/src/main/java/tech/ydb/hibernate/dialect/hint/IndexQueryHintHandler.java +++ b/hibernate-dialect/src/main/java/tech/ydb/hibernate/dialect/hint/IndexQueryHintHandler.java @@ -12,7 +12,7 @@ public class IndexQueryHintHandler { private static final Pattern SELECT_FROM_WHERE_QUERY_PATTERN = Pattern .compile("^\\s*(select.+?from\\s+\\w+)(.+where.+)$", Pattern.CASE_INSENSITIVE); - public static final String HINT_USE_INDEX = "use_index"; + public static final String HINT_USE_INDEX = "use_index:"; public static final IndexQueryHintHandler INSTANCE = new IndexQueryHintHandler(); public String addQueryHints(String query, List hints) { @@ -22,9 +22,8 @@ public String addQueryHints(String query, List hints) { var useIndexes = new ArrayList(); hints.forEach(hint -> { - var hintSplit = hint.split(":"); - if (hintSplit.length == 2 && hintSplit[0].equals(HINT_USE_INDEX)) { - useIndexes.add(hintSplit[1]); + if (hint.startsWith(HINT_USE_INDEX)) { + useIndexes.add(hint.substring(HINT_USE_INDEX.length())); } });