Bonjour, je suis confronté à un problème que je n'arrive pas à comprendre. Je développe une application web avec Struts 2 et Hibernate 3 comme j'ai pu en faire des dizaines. Mais cette fois ci j'ai un gros souci avec une requête.
J'ai un formulaire Struts 2 chargé d'insérer un objet "dérogation" dans une base Mysql. L'action fait bien son job, l'enregistrement est bien inséré dans la base. L'exécution de l'action redirige vers une autre action qui effectue une requête qui liste les objets par lecture dans la base :
Code:
public String getList()
{
Session session = HibernateUtil.getSession();
try
{
setDerogationList(session.createQuery("from Derogation order by dateEmission").list());
}
catch(HibernateException he)
{
he.printStackTrace();
addActionError(he.getMessage());
}
catch(Exception e)
{
addActionError(e.getMessage());
}
finally
{
if(hasErrors())
{
return ERROR;
}
return SUCCESS;
}
}
PROBLEME :
Au premier appel de l'action j'obtiens bien la liste de mes objets.
Quand je fait un rafraîchissement de la page par F5, ma liste apparaît vide.
Pas d'erreur, pas de trace je vois même la construction de la requête par Hibernate :
Quote:
INFO: Hibernate: select derogation0_.id as id0_, derogation0_.client as client0_, derogation0_.status as status0_, derogation0_.type1 as type4_0_, derogation0_.type2 as type5_0_, derogation0_.emetteur as emetteur0_, derogation0_.emetteur_email as emetteur7_0_, derogation0_.service as service0_, derogation0_.date_emission as date9_0_, derogation0_.vehicule as vehicule0_, derogation0_.responsable_qualite as respons11_0_, derogation0_.responsable_qualite_email as respons12_0_, derogation0_.description_standard as descrip13_0_, derogation0_.description_reel as descrip14_0_, derogation0_.description_origine as descrip15_0_, derogation0_.acceptee as acceptee0_, derogation0_.date_acceptee as date17_0_, derogation0_.non_conformite as non18_0_, derogation0_.nonconformite_number as nonconf19_0_, derogation0_.autorisation_client as autoris20_0_, derogation0_.information_client as informa21_0_, derogation0_.liste_diffusion as liste22_0_ from derogations.derogation derogation0_ order by derogation0_.date_emission
Les enregistrements sont toujours dans la base, mais Hibernate ne récupère rien tant que je ne redéploie pas l'application. Les requêtes générées par Hibernate sont rigoureusement identiques à chaque appel. Pourquoi la requête ne retourne les résultats qu'au premier appel ?
Je suis complètement bloqué comme je peux rarement l'être, avez vous une idée pour m'aider svp ?
Merci par avance