Bonjour,
je viens à vous pour un problème de performance sur le refreshUser().
Dans ma méthode loadByUsername() je créé mon Objet User et je le set avec toutes mes informations (récupéré dans LDAP et dans MySQL) et je set en session mon user.
Dans le refreshUser() j’exécute ma méthode loadByUsername().
J'aimerai que mon refreshUser() n'aille pas re-créer mon User car toutes les information de celui ci sont en session et ça m'éviterai de faire des requêtes en base à chaque changement de page dans l'application.
Donc au lieu de re-exécuter loadByUsername() je retourne mon user en session et là surprise ! Tous mes objets lié à l'user contiennent des objet PersistentCollection qui sont null.
Je perd donc dans mon user en session tout mes objets lié à l'user alors que en exécutant loadByUsername à chaque refreshUser() je n'ai pas ce problème.
Je remarque que pour une connexion il passe deux fois dans loadByUsername() (normalement c'est pour vérifier mon user avec la méthode equals() que je n'utilise pas car l'authentification ce passe au niveau de LDAP donc pour moi il retourne toujours true)
Donc j'ai l'impression que un coup je set mon user comme il faut en session à la connexion et que il repasse une deuxième fois dans loadByUsername() et qu'il me set mon user avec les bonnes informations mais sans les objets liés...
Est ce que quelqu'un aurai une idée de pourquoi je perd mes objets liés à l'user ?
Partager