Bonjour,
j'aimerais avoir votre avis ou retour sur un principe de fonctionnement JSF.

J'explique ma problématique.
J'ai une page A qui contient un formulaire. Elle est en JSF, couplée à un modèle de données JPA/Hibernate avec certains attributs avec l'annotation @NotNull.
Sur cette page j'ai un bouton qui me redirige vers une seconde page B qui contient un autre formulaire, et qui lui contient très peu de champs (2), et un bouton valider et annuler. Ces 2 boutons me redirigent vers la page A pour pouvoir terminer la saisie.
Comme un utilisateur peut depuis la page A vouloir aller à la page B sans remplir en premier lieu tous les champs, j'ai donc mis un immediate="true" sur le h:commandButton pour ne pas avoir les messages de validation.

Or mon problème est le suivant. Si une personne commence à remplir des valeurs sur la page A, qu'il va sur la page B, puis donc retourne sur la page A, les données saisies sur la page A sont effacées, ce qui n'arrive pas si j'enlève le immediate="true".

Est-ce que ma réflexion ou ma pratique est mauvaise ? Ou il existe une autre façon de faire dans ce cas.

Merci pour tout éclaircissement.