очистка всего кеша запросов в моей ситуации очень дорогая, поэтому я хотел бы очистить только определенный кеш запросов.
Скажем, я выполнил следующий запрос hql:
SELECT FROM Car c WHERE c.id = 22
В следующий раз я хотел бы заставить hibernate извлекать результат из базы данных, а не получать то, что находится в кеше запросов.
Наблюдения: ни отключение кэширования запросов, ни очистка всего кэша не являются допустимыми вариантами. Я не могу поставить под угрозу производительность вообще.




Отключите кеширование запроса с помощью hibernateQuery.setCacheMode(CacheMode.REFRESH).
Программная инвалидация:
Укажите название региона при создании запроса hibernateQuery.setCacheRegion("car22"), а затем сделайте его недействительным session.getSessionFactory().getCache().evictQueryRegion("car22");