HI, j'ai un problème. Mon (je devine) couche de persistance cache mes résultats, ainsi quand je mets à jour la base de données de l'extérieur de mon application alors les données restent viciées.java web application mise en cache des données, comment l'arrêter afin que les données ne sont pas périmées!
cependant, il est en cache que la moitié du temps, j'espère que cela a un sens,
J'ai une classe
@Entity
@Table(name = "PROVINCE")
public class Province implements Serializable {
@Id
@GeneratedValue
int id;
String provinceName;
String provinceMoto;
Buildings buildings;
Units units;
Person person;
.... etc
maintenant, si je mets à jour les données qui ne sont pas une référence à un objet de classe, comme le 'nom de la province' puis les données sont très bien dans mon application et les mises à jour tout de suite. Cependant, les objets internes comme 'bâtiments' ne le sont pas et je ne peux pas comprendre comment, si je fais un rafraîchissement comme redéployer mon application, alors les données sont fraîches.
-je obtenir ma province de la base de données ici:
Query query = manager.createQuery("select p from Province p where p.person = :query");
query.setHint("toplink.refresh", "true");
query.setParameter("query", p);
province = (Province) query.getSingleResult();
alors comment dois-je aller de forcer qui aussi rendre les objets internes de cette classe, à savoir la « personne » de mettre à jour aussi « bâtiments ». Ma couche de persistance est de toplink essentials, et j'ai corrigé mon problème précédent qui n'était aucune mise à jour des données. et ce premier article here(it's another stack overflow page)
merci pour toute aide. J'espère avoir suffisamment expliqué mon problème
[EDIT: comme si je n'utilisais pas ce framework, il serait simplement plus facile de joindre les tables dans la base de données et de repeupler les données dans une nouvelle variable, mais je ne le ferais pas]
Salut, um pourriez-vous m'expliquer s'il vous plaît dans un peu plus de détails. – David
ce que je pense que votre sens est que «ré-enregistrer» les données. pour que les nouvelles valeurs soient mises en cache ???? mais je suis mise à jour les valeurs/DB de différentes applications/serveurs de sorte que les nouvelles données doivent être réinitialisées dans cette application .... – David
Prenons un exemple, d'abord vous mettre à jour les données dans la base de données. après la mise à jour des données. vous atterrissez sur la même forme, sous une forme différente. Si c'est la même forme, réinitialisez le formulaire pour que toutes les valeurs de l'objet valeur ur soient définies sur les valeurs par défaut. – developer