J'ai une classe utilitaire qui comporte des méthodes pour le calcul d'un classement d'équipes (avec plus ou moins de critères partage).

Une des méthodes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
private static final void calculerButsExt(List<Classement> equipesEgalite)
permet de calculer les buts marqués à l'extérieur entre plusieurs équipes à égalité.
Dans le corps de cette méthode, actuellement, je fais un appel dans une boucle
Code : Sélectionner tout - Visualiser dans une fenêtre à part
classementService.findCriteresParticuliersExterieurByTournoi(tournoi, uPs, uP1)
qui elle-même fait appel à
Code : Sélectionner tout - Visualiser dans une fenêtre à part
classementDAO.findCriteresParticuliersDomicileByTournoi(tournoi, uP1, uPs);
.

Si je comprends bien, actuellement à chaque itération dans la boucle, spring ouvre puis ferme une nouvelle session.

Ne vaudrait-il mieux pas déplacer la méthode
Code : Sélectionner tout - Visualiser dans une fenêtre à part
private static final void calculerButsExt(List<Classement> equipesEgalite)
dans la couche services (ClassementService) et remplacer le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
classementService.findCriteresParticuliersExterieurByTournoi(tournoi, uPs, uP1)
par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
classementDAO.findCriteresParticuliersDomicileByTournoi(tournoi, uP1, uPs);
.

Est-ce bien le rôle de la couche services ?