Comment synchroniser Hibernate avec base de données???

cs_Zero0ne Messages postés 2 Date d'inscription lundi 8 septembre 2008 Statut Membre Dernière intervention 27 janvier 2009 - 26 janv. 2009 à 15:22
cs_Zero0ne Messages postés 2 Date d'inscription lundi 8 septembre 2008 Statut Membre Dernière intervention 27 janvier 2009 - 27 janv. 2009 à 15:26
Bonjour,

J'utilise Eclipse Ganymede 3.4 et Hibernate Tools 3.2.4CR.
Je souhaiterais savoir comment faire au niveau du cache Hibernate lorsque la base de données est modifiée simultanément par PHP et Java/Hibernate.
Comment faire pour que Hibernate puisse tenir compte des dernièrs changements effectués dans la base de données par PHP?

2 réponses

super_toinou Messages postés 764 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 8 mars 2011 7
26 janv. 2009 à 18:23
Hello,

tu peux mettre en place des triggers sur les tables impactées.
lors d'une modif tu remplis via ton trigger une table qui te dis quelle table a changée.
Après en java tu peux scanner toutes les 20s cette table et voir si qque chose est apparu.

Je sais pas si y a d'autres solutions mais ça m'étonnerai.

Cdt
0
cs_Zero0ne Messages postés 2 Date d'inscription lundi 8 septembre 2008 Statut Membre Dernière intervention 27 janvier 2009
27 janv. 2009 à 15:26
Hello,
Merci de ta réponse.
Mais j'ai quelques questions supplémentaires :

1-Quand tu parles de trigger est ce le trigger SQL qui est activé par des requêtes SQL?

2-Une fois que tu as scanné les informations sur la mise à jour des tables en Java que fais tu au niveau du code java Hibernate pour que ces modifications des tables soient prises en compte par le cache Hibernate? D'après ce que je comprends d'Hibernate le seul moyen de tenir compte des tables mises à jour c'est de créer de nouvelles sessions mais comment intégrer ça avec Hibernate??
En triggant par PHP un appel à SessionFactory.evict() via une servlet?

Cdt
0