Nous avons récemment commencé à utiliser Hibernate et nous nous habituons toujours à la façon dont cela fonctionne. L'une des choses que nous avons vu est que même après que toutes les sessions sont fermées et que les références sont hors de portée, Hibernate semble toujours maintenir les valeurs de base de données précédemment utilisées dans son cache.Comment forcer hibernate à libérer de la mémoire une fois la session fermée?
Nous avons du code qui lit à partir d'un ensemble de tables en plusieurs passes. Parce que toute la mémoire est libérée très parcimonieusement, les passes ultérieures ralentissent jusqu'à un crawl.
Existe-t-il un moyen de forcer Hibernate à effacer son cache?
Un appel explicite à System.gc() n'aide pas. (Oui, je sais que c'est une suggestion)
Informations supplémentaires: Nous avons explicitement désactivé le cache de second niveau.
Je suppose que vous n'êtes pas en utilisant le cache de second niveau de mise en veille prolongée alors? Quelle stratégie utilisez-vous pour la gestion de session? "Session par thread"? –
Nous utilisons session par thread, et nous avons explicitement désactivé le cache de second niveau – StudioEvoque