Как получить сущность не из Persistence context?

Рейтинг: 1Ответов: 1Опубликовано: 06.02.2023

Java 17, Spring Boot 2.7.8, Hibernate.

Каким образом я могу заставить Hibernate отдать сущность не из Persistence context, то есть заставить его не использовать кэш первого уровня в запросе?

Я знаю, что можно использовать em.detach(T entity), а есть другой вариант, т.е. не очищая контекст получить искомую сущность в её актуальном виде из БД?

Ответы

▲ 0

Кэш первого уровня включен по-умолчанию и его нельзя отключить. При закрытии сессии кэш сессии очищается. Для сессии есть методы evict(), clear(), contains() для работы с кэшем. Для отключения кэша второго уровня проперти spring.jpa.properties.hibernate.cache.use_second_level_cache=false