J'ai compris que le cache L2 ne peut pas se mettre à jour si une mise à jour se produit dans le magasin persistant. Alors, devrais-je appeler la méthode evict2ndLevelCache() après toutes les méthodes d'écriture ou de mise à jour à la couche DAO? Ou il y a une meilleure stratégie?Hibernate: Invalidation du cache de second niveau
http://howtodoinjava.com/2013/07/02/how-hibernate-second-level-cache-works/
Si un utilisateur ou un processus directement les modifications dans la base de données, la il n'y a aucun moyen que cache de second niveau se mettre à jour jusqu'à ce que « timeToLiveSeconds » durée est passé pour cette région de cache. Dans ce cas , il est judicieux d'invalider le cache entier et de laisser reconstituer son cache une fois de plus. Vous pouvez utiliser l'extrait de code ci-dessous pour invalider tout le cache de second niveau d'hibernation entière.
Possible duplication de [invalidation de cache de deuxième niveau Hibernate lorsqu'un autre processus modifie la base de données] (http://stackoverflow.com/questions/1603846/hibernate-2nd-level-cache-invalidation-whenanother-process-modifies- the-databas) – Tarik
Salut, le lien fournit également une méthode d'expulsion d'échantillon. J'étais inquiet pour son utilisation? Ai-je raison de comprendre que chaque méthode de mise à jour est suivie d'un appel à la méthode d'expulsion? – Forkmohit