Séance de nettoyage, vidage, rafraîchissement, après des mises à jour groupées en veille prolongée?

Comme nous le soaps, lors d’une mise à jour en bloc de la firebase database avec hibernate (même dans HQL), les modifications apscopes ne sont pas répliquées dans les entités stockées dans la session en cours.

Je peux donc appeler session.refresh pour charger les modifications apscopes à mes entités de session.

Nous appelons souvent flush pour envoyer nos modifications à la firebase database, mais la documentation indique qu’il “synchronise” la session et la firebase database …

Est-ce que cela signifie que flush sera en mesure de définir la bonne nouvelle valeur de firebase database sur mon entité de session? Ou flush finira-t-il par effacer ma nouvelle valeur de firebase database avec l’ancienne stockée dans l’entité? (Btw si le comportement de l’hibernation est le premier, comment détecte-t-on lequel est la “bonne valeur”?).

Si je ne peux pas utiliser flush sur un tel cas, c’est une bonne pratique d’effacer la session après chaque mise à jour groupée afin d’être sûr d’avoir de bonnes valeurs dans notre session?

Tout ce que vous ferez, c’est d’envoyer des instructions SQL précédemment mises en cache à la firebase database. Cela ne changera pas vos objects déjà en session. D’une certaine manière, cela fait l’inverse de ce dont vous avez besoin. Les instructions SQL from flush peuvent potentiellement remplacer vos modifications de mise à jour en masse. Ce que vous voulez probablement faire est de faire flush() puis clear() avant votre mise à jour. Ou, si vous ne voulez pas effacer tout le cache, evict() . Je n’ai jamais essayé refresh() mais il semble que cela fonctionnera également.