Как изменить кэш запросов менеджера сущностей? - PullRequest
1 голос
/ 03 апреля 2019

очистка всего кэша запросов действительно дорогая в моей ситуации, поэтому я хотел бы очистить только определенный кэш запросов.

Скажем, я выполнил следующий запрос hql:

SELECT FROM Car c WHERE c.id = 22

В следующий раз я хотел бы заставить hibernate получать результаты из базы данных вместо того, чтобы получать то, что находится в кэше запросов.

Замечания: ни отключение кэширования запросов, ни очистка всего кэша не являются допустимыми параметрами,Я не могу поставить под угрозу производительность.

1 Ответ

0 голосов
/ 03 апреля 2019

Отключить кэширование по запросу, используя hibernateQuery.setCacheMode(CacheMode.REFRESH).

Программная недействительность:

Установить имя региона при создании запроса hibernateQuery.setCacheRegion("car22") и затем сделать его недействительным session.getSessionFactory().getCache().evictQueryRegion("car22");

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...