De retour d'une SessionFactory objet Singleton pour Hibernate 4.3
Je suis de l'utilisation d'Hibernate 4.3. Je suis en train d'essayer d'obtenir le SessionFactory
objet à partir d'une HibernateUtil
classe. Je suis en train d'essayer d'obtenir un seul SessionFactory
objet pour l'ensemble de l'application, c'est à dire objet Singleton pour l'application.
Ci-dessous mon code actuel, je veux faire en classe Singleton.
HibernateUtil.java
public class HibernateUtil {
private static SessionFactory sessionFactory;
private static StandardServiceRegistry serviceRegistry;
public static SessionFactory getSessionFactory() {
Configuration configuration = new Configuration();
configuration.configure();
serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
sessionFactory = configuration.buildSessionFactory(serviceRegistry);
return sessionFactory;
}
}
Merci de proposer ou de fournir des exemples de code pour cela.
Merci.
- Faire HibernateUtil une classe Singleton.
Vous devez vous connecter pour publier un commentaire.
Comme suggéré, j'ai fait l'
HibernateUtil.java
classe Singleton.Trouver le code ci-dessous, et s'il vous plaît suggérer /commentaire pour confirmer la justesse de code.
Voici le code mis à jour:
Merci de faire la correction si le code n'est pas correct, et de proposer de la bonne façon.
Plutôt que de faire HibernateUtil en tant que singleton.Faire SessionFactory en tant que singleton.
Avantages de l'approche ci-dessus comme ci-dessous
1.pas de synchroniser le code(en évitant de verrouillage et de déverrouillage pour chaque appel de méthode)
2.pas si l'état de
3.sessionfactory est eagly de l'instanciation.(statique bloc sera executeted qu'une seule fois dans la vie de la classe le temps)
4.application starup lui-même, vous pouvez trouver des erreurs dans les fichiers de configuration.
s'il vous plaît suggérer et/ou commentaires sur ce..
grâce
Il suffit d'appliquer le pattern singleton