Bonjour a tous,
J'ai un problème lorsque j'ajoute un nouvel élément dans ma base.
La description du probleme est la suivante :
J'ai une table "users" (ce problème est récurrent sur toute mes tables), dans laquelle je peux ajouter de nouveaux enregistrements.
J'ajoute donc un nouvel utilisateur depuis le site web, après l'insertion d'un nouvel utilisateur, je récupère la nouvelle liste complète des utilisateurs et je fais un forward vers une nouvelle page pour les afficher le code SQL que génère hibernate est le suivant :
Jusqu'ici pas de problème, lors de l'affichage tous les enregistrements y sont, y compris le nouveau.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 Hibernate: insert into users (FIRST_NAME, LAST_NAME, SEX, EMAIL1, EMAIL2, USR_LOGIN, USR_PASSWD, ID_USERSTYPE, ID_USER) values (?, ?, ?, ?, ?, ?, ?, ?, ?) Hibernate: select users0_.ID_USER as ID1_5_, users0_.FIRST_NAME as FIRST2_5_, users0_.LAST_NAME as LAST3_5_, users0_.SEX as SEX5_, users0_.EMAIL1 as EMAIL5_5_, users0_.EMAIL2 as EMAIL6_5_, users0_.USR_LOGIN as USR7_5_, users0_.USR_PASSWD as USR8_5_, users0_.ID_USERSTYPE as ID9_5_ from users users0_ inner join userstype userstype1_ on users0_.ID_USERSTYPE=userstype1_.ID_USERSTYPE where userstype1_.LABEL=?
J'ai également un lien dans le menu pour lister tous mes utilisateurs, je clique donc dessus, au passage hibernate crée une nouvelle session (j'utilise le pattern session-per-request), et hibernate génère le code SQL du select...
Je réitère la meme opération que précedemment, j'ajoute un nouvel utilisateur et a la fin je recupere a nouveau la liste des utilisateurs et je fais un forward, tous les utilisateurs Y COMPRIS LE NOUVEAU, sont affiché a l'écran.
En revanche, et c'est la d'ou vient le problème, cette fois quand je clique a nouveau sur le lien du menu "List all users", alors il me sort l'ancienne liste d'utilisateur, sans le nouveau que je viens de rajouter... et hibernate ne génère pas le code SQL du select comme s'il allait piocher dans les éléments persistant de la mémoire de la précédente requete, je suis obligé de faire un CTRL + R pour regénérer un SQL et donc la liste complète des utilisateurs.
J'aimerai savoir comment palier a ce problème... si qqun a une idée, merci
Partager