essayer quelque chose comme ça lors de la configuration usine de la session de mise en veille prolongée:
configuration.setProperty(Environment.USE_QUERY_CACHE, Boolean.FALSE.toString());
configuration.setProperty(Environment.USE_SECOND_LEVEL_CACHE, Boolean.FALSE.toString());
configuration.setProperty(Environment.CACHE_REGION_FACTORY,org.hibernate.cache.impl.NoCachingRegionFactory.class.getName());
configuration.setProperty(Environment.CACHE_PROVIDER,org.hibernate.cache.NoCacheProvider.class.getName());
Notez toutefois que vous ne pouvez pas désactiver la session cache qui est fourni par Hibernate (Si toutes les implémentations JPA) Les. Si quelque chose ne doit pas être mis en cache par Hibernate, vous pouvez l'expulser OU ne pas utiliser Hibernate (selon votre choix)
Pour la mise en cache d'entités spécifiques, je vous recommande de jeter un oeil à javax.persistence.Cacheable et voyez comment cela fonctionne pour vous.
Pouvez-vous être plus précis au sujet de * quel * cache d'hibernation auquel vous faites référence? Il y a le cache de session/de premier niveau, le cache de second niveau, le cache de requête et le cache de collection. –
je fais référence au cache de session – AAaa