How can I explicitly tell Hibernate to use or not to use SQL index
Самый простой способ принудительно выполнить полное сканирование таблицы - удалить индекс.Зачем поддерживать индекс, который вы не хотите использовать в любом случае.
Hibernate - это инструмент ORM, это базовая база данных, которая решает, как выполнять запросы - использовать индекс или нет.Поэтому, если вы хотите сохранить индекс и считаете, что планировщик запросов выбирает индекс, когда это не нужно, то, возможно, вы могли бы изменить запрос sql так, чтобы он завершил полное сканирование таблицы, или использовать синтаксис sql для конкретной базы данныхSELECT FULL()...
в Oracle, enable_indexscan(false)
в Postgresql и т. Д. (Если такая вещь существует для вашей базы данных).
создает Hibernate индекс SQL, если обнаруживает, что это будет эффективным использованием ресурсов
Нет.