thierrylafleur
Messages postés10Date d'inscriptionmercredi 5 avril 2006StatutMembreDernière intervention27 octobre 2006
-
20 oct. 2006 à 09:18
matla69
Messages postés3Date d'inscriptionjeudi 31 août 2006StatutMembreDernière intervention18 avril 2010
-
18 avril 2010 à 11:48
Salut,
j'ai un petit problème avec Hibernate. Je vais essayer d'expliquer simplement la situation.
Je suis en train de développer une petite appli Web en JSP qui utilise Hibernate.
J'ai une simple JSP qui se contente d'afficher les données d'une table. Avec Hibernate je fais donc un pauvre Select en HQL dans ma table et j'affiche tout ça dans un tableau HTML.
Lorsque je suis sur ma JSP, si je fais des Refresh sur la page je fais donc un accès à la base pour récupérer les valeurs de ma table.
Le problème est le suivant : J'ajoute une ligne directement dans la base de données alors que je suis sur ma JSP d'affichage.
J'appuie ensuite sur Refresh et je compte que la nouvelle ligne apparaisse dans mon tableau HTML. Ce n'est pas le cas. En appuyant comme un bourrin sur Refresh la nouvelle ligne ajoutée à la main dans la base apparaît au bout d'un certain temps, puis si je continue les Refresh elle disparaît, puis elle réapparait, etc.
J'en ai déduit qu'il y avait un cache dans Hibernate qui devait me gêner.
J'ai essayé de le supprimer en mettant à false les valeurs use_second_level_cache et use_query_cache dans hibernate.cfg.xml mais ça solutionne pas le problème.
shaiulud
Messages postés404Date d'inscriptionmardi 18 décembre 2001StatutMembreDernière intervention15 juillet 201422 20 oct. 2006 à 13:11
Je n'ai pas encore utilisé la v5
Hibernate à deux caches
le premier (L1) est inaccessible.
le second (L2) peut être inhibé bien que ce soit plutot déconseillé.
en dev ça peut être une HashMap ou ehcache selon la config
Dans tous les cas, une fois hibernate en place tous les accès à la base doivent passer par Hibernate.