Bonjour,
Je suis en train d'apprendre le développement web avec Java EE et Hibernate.
J'ai recherché plusieurs façon de gérer les transactions avec la base de données de manière optimale.
J'ai pensé tout d abord à ouvrir une Session pour chaque requête Http que je fais et la fermer à la fin. Un peu comme cet article le décrit:
http://www.jroller.com/HazemBlog/ent...en_session_per
Le problème est que ce type d’implémentation n'est pas très bon pour les attaques de type DDOS apparemment.
Vous faites comment vous, des
Dès que vous avez besoins de faire une requêtes sur la BDD ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Session session = HibernateUtil.getSession().getCurrentSession(); session.beginTransaction(); session.getTransaction().commit();
Ps: J'utilise la class là pour mes sessions:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 public class HibernateUtil { private static SessionFactory sessionFactory; private static ServiceRegistry serviceRegistry; private static SessionFactory configureSessionFactory() throws HibernateException { Configuration configuration = new Configuration(); configuration.configure(); serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry(); sessionFactory = configuration.buildSessionFactory(serviceRegistry); return sessionFactory; } public static SessionFactory getSession() { if (sessionFactory == null) sessionFactory = configureSessionFactory(); return sessionFactory; } }
Partager