Bonjour,
je cherche une méthode propre à charger mon fichier de configuration qu'est hibernate.cfg.xml.
mon architecture se présente comme suit :
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
 
public abstract class _RootDAO {
 private static SessionFactory sessionFactory;
 /**
  * configure the session factory by reading hibernate.cfg.xml
  */
 public static void initialize () throws HibernateException {
 
 
  File file = new File(Constants.PATH_OF_HIBERNATE_FILE_CONFIG);
 
  Configuration cfg = new Configuration();
  cfg.configure(file);
 
  sessionFactory = cfg.buildSessionFactory();
 }
.....
supposons que j'ai deux tables dans ma base de données(personne, fournisseur) , donc j'y attribue deux classes DAO à savoir PersonneDAO et FournisseurDAO.
comment dois-je appeler le initialize() de ma classe _Root à partir de ces deux classes DAO?
pour moi je pense que je dois faire un truc qui ressemble à ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
 
// pour la table Personne
import net.sf.hibernate.HibernateException;
import org.zakoura.hibernate.base.BaseParametrageDAO;
public class PersonneDAO extends _Root {
 
 public PersonneDAO () throws HibernateException{
  super.initialize();
 
 }
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
 
// pour la table Fournisseur
import net.sf.hibernate.HibernateException;
import org.zakoura.hibernate.base.BaseParametrageDAO;
public class FournisseurDAO extends _Root {
 
 public FournisseurDAO () throws HibernateException{
  super.initialize();
 
 }
}

vous voyez bien que à chaque fois je fais appel à la fonction initialize() de la classe mère _Root qui contient les méthodes : save(...) update(...)....

mais je ne pense pas que ça soit la meilleure façon car en procédant de cette manière à chaque fois je charge mes fichiers de mappings et...je cherche donc une façon pour ne faire ce travail répété qu'une seule fois, pourquoi pas au chargement de mon contexte.