Bonjour,

Je suis devant un problème que je ne comprends pas bien.
Grossièrement j'ai ceci :
Un service doit me remonter des rendez-vous pour une personne.
Sur un patient de tests j'ai 300 RDV en gros.
La requete se fait via spring jdbc template et j'applique un mapper qui construit les RDV.
Le mapper de RDV appelle lui-même des sous-mapper, etc...
Et enfin certains mapper appellent un service de nomenclature qui remontent des objets hibernatisés qui sont cachable.

Concrètement dans le cadre d'un patient qui a RDV avec un médecin pour une consultation, le mapper de RDV appelle le service de nomenclature (qui est un service Spring injecté dans le mapper), lui même faisant un findById() sur l'identifiant du médecin (le médecin étant un objet mappé via hibernate).

J'en viens au problème que je constate : L'ensemble du service prend environ 6 secondes. Quand je décortique ce temps via JProfiler, je constate que sur ces 6 secondes, 4 sont occupées dans la methode intercept de net.sf.cglib.proxy.MethodInterceptor, qui en théorie (me semble-t-il) n'a rien de particulier à faire comme traitement si ce n'est éventuellement passer la transaction au service suivant (transaction qui est annotée en read-only je précise).

Tout cela vous parait-il normal ? Y a-t-il un moyen d'optimiser cela ?

Merci.