J'ai lu pas mal de docs sur la persistance dans une application web (Tomcat), mais je n'ai pas encore trouvé de réponse à une question toute bête que je me pose :

Comment bien "placer" les objets SessionFactory / Session pour Hibernate et EntityManagerFactory / EntityManager pour JPA ? c'est à dire quelle portée, statique ou pas, etc. ? Une instance par application ou une instance par session ?

J'essaye plusieurs méthodes qui marchent, mais laquelle est la meilleure dans un environnement de production, pour les perfs ?

Exemples :
- EntityManagerFactory en "static", avec une seule instance pour toute l'application web ? Ou une instance par session ?
- Idem pour les Session / EntityManager : une session ouverte par session utilisateur, ou une session pour tous les utilisateurs, ou (comme je l'ai lu ici) une session par requête ?

Merci par avance !