Je souhaite accéder aux fichiers de mapping (*.hbm.xml) présent dans le JAR du projet. Ce projet utilise Hibernate pour accéder à la base de donnée.
Dans ce projet, j'arrive à accéder au fichier de configuration (hibernate.cfg.xml) de cette manière :
Code : Sélectionner tout - Visualiser dans une fenêtre à part sessionFactory = cfg.configure(HibernateUtil.class.getResource("/hbm/hibernate.cfg.xml")).buildSessionFactory();
Dans le fichier de configuration, j'ai déclaré les ressources *.hbm.xml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <mapping resource="hbm/titi.hbm.xml" /> <mapping resource="hbm/toto.hbm.xml" /> <mapping resource="hbm/tata.hbm.xml" />
Le programme accède au fichier de configuration qu'il soit dans le JAR ou pas. Par contre, il ne trouve pas les fichiers de mapping lorsqu'ils sont dans le JAR.
J'ai exploité la documentation Hibernate, notamment celle-ci.
J'ai déplacé l'import des fichiers de mapping de hibernate.cfg.xml à la création de la SessionFactory :
Problème résolu .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Configuration cfg = new Configuration(); cfg.configure(HibernateUtil.class.getResource("/hbm/hibernate.cfg.xml")); cfg.addURL(HibernateUtil.class.getResource("/hbm/titi.hbm.xml")); cfg.addURL(HibernateUtil.class.getResource("/hbm/toto.hbm.xml")); cfg.addURL(HibernateUtil.class.getResource("/hbm/tata.hbm.xml")); // Create the SessionFactory sessionFactory = cfg.buildSessionFactory();
Partager