OVH Cloud OVH Cloud

Hibernate / Jonas

3 réponses
Avatar
Nico
Salut,

J'utilise hibernate pour le mapper mes données stockés dans une base
Oracle. Je souhaiterais maintenant utiliser ces objects dans des EJB.
Quelque'un pourrait-il me dire où doivent être stockés les .hbm.xml
(dans le .jar que je déploie je suppose), les jars d'hibernate, ainsi
que ses fichiers de config (hibernate.properties) ? J'ai bien trouvé des
infos pour JBoss, mais pas grand chose pour le cas Jonas ...

A+, Nicolas.

3 réponses

Avatar
jlp
Nico wrote:
Salut,

J'utilise hibernate pour le mapper mes données stockés dans une base
Oracle. Je souhaiterais maintenant utiliser ces objects dans des EJB.
Quelque'un pourrait-il me dire où doivent être stockés les .hbm.xml
(dans le .jar que je déploie je suppose), les jars d'hibernate, ainsi
que ses fichiers de config (hibernate.properties) ? J'ai bien trouvé des
infos pour JBoss, mais pas grand chose pour le cas Jonas ...

A+, Nicolas.
voir sur www.developpez.com , j'ai proposé un tutoriel

JSF/HIBERNATE/JONAS( référencé aussi sur Objectweb/Jonas) . J'ai traité
un cas sans utilisation d'EJB, en proposant une solution d'installation
des fichiers de conf Hibernate. Tu pourras tester si cela est aussi
valide pour des EJB session ou Entity BMP.
Fait un retour si cela marche, cela pourrait interesser l'équipe Jonas
pour une future intégration d'Hibernate ?

Avatar
Nico
jlp wrote:

Nico wrote:

Salut,

J'utilise hibernate pour le mapper mes données stockés dans une base
Oracle. Je souhaiterais maintenant utiliser ces objects dans des EJB.
Quelque'un pourrait-il me dire où doivent être stockés les .hbm.xml
(dans le .jar que je déploie je suppose), les jars d'hibernate, ainsi
que ses fichiers de config (hibernate.properties) ? J'ai bien trouvé
des infos pour JBoss, mais pas grand chose pour le cas Jonas ...

A+, Nicolas.


voir sur www.developpez.com , j'ai proposé un tutoriel
JSF/HIBERNATE/JONAS( référencé aussi sur Objectweb/Jonas) . J'ai traité
un cas sans utilisation d'EJB, en proposant une solution d'installation
des fichiers de conf Hibernate. Tu pourras tester si cela est aussi
valide pour des EJB session ou Entity BMP.
Fait un retour si cela marche, cela pourrait interesser l'équipe Jonas
pour une future intégration d'Hibernate ?


Entre temps, j'ai effectivement trouvé cet excellent tutoriel. Voici en
quelques lignes ce que j'ai fait:
1- copie des jars hibernate dans $JONAS_BAS/lib/ext (voir en plus
http://www.hibernate.org/166.html).
2- Ensuite, j'ai déposé mon fichier hibernate.cfg.xml dans $JONAS_BASE/conf.

J'initialise ensuite l'objet sessionFactory par le code suivant :
sessionFactory= new Configuration().configure(new
File(System.getProperty("jonas.base")+File.separator+"conf"+File.separator+"arcadia.cfg.xml")).buildSessionFactory();

Après ça, ça fonctionne, mais je me suis un peu battu avec un autre
problème. J'ai une tache Ant qui construit les fichiers .hbm.xml à
partir des baslises XDoclet contenues dans mon code. J'ai ensuite une
autre tâche (ejbjar) qui construit le jar résultat qui contient les
class entités, les EJB et les .hbm.xml. Le truc c'est que en mettant
l'attribut dependency=full, je ne récupère dans le .jar que les classes
utilisées dans mon code. Résultat, comme je suis pour le moment en phase
de tests et de réflexions, j'ai des entités (et donc des .hbm.xml) qui
ne sont pas utilisées (ou alors sous fomes de Set). Dans le jar, j'ai
donc le .hbm.xml mais pas le .class. Quand je lance le tout, Hibernate
me crie dessus lorsqu'il créé le sessionFactory en me disant qu'il ne
trouve pas l'objet. J'ai résolu ce problème , mais qui sait peut-être
que quelqu'un a déjà eu ce soucis.

Pour en revenir à la question de départ, je n'ai pas encore essayé, mais
il devrait être possible de mettre le fichier hibernate.cfg.xml dans le
jar avec les EJB pour éviter d'avoir à mettre le chemin en dur ?

A+, Nicolas.


Avatar
jlp
Nico wrote:
jlp wrote:

Nico wrote:

Salut,

J'utilise hibernate pour le mapper mes données stockés dans une
base Oracle. Je souhaiterais maintenant utiliser ces objects dans des
EJB.
Quelque'un pourrait-il me dire où doivent être stockés les .hbm.xml
(dans le .jar que je déploie je suppose), les jars d'hibernate, ainsi
que ses fichiers de config (hibernate.properties) ? J'ai bien trouvé
des infos pour JBoss, mais pas grand chose pour le cas Jonas ...

A+, Nicolas.



voir sur www.developpez.com , j'ai proposé un tutoriel
JSF/HIBERNATE/JONAS( référencé aussi sur Objectweb/Jonas) . J'ai
traité un cas sans utilisation d'EJB, en proposant une solution
d'installation des fichiers de conf Hibernate. Tu pourras tester si
cela est aussi valide pour des EJB session ou Entity BMP.
Fait un retour si cela marche, cela pourrait interesser l'équipe Jonas
pour une future intégration d'Hibernate ?



Entre temps, j'ai effectivement trouvé cet excellent tutoriel. Voici
en quelques lignes ce que j'ai fait:
1- copie des jars hibernate dans $JONAS_BAS/lib/ext (voir en plus
http://www.hibernate.org/166.html).
2- Ensuite, j'ai déposé mon fichier hibernate.cfg.xml dans
$JONAS_BASE/conf.

J'initialise ensuite l'objet sessionFactory par le code suivant :
sessionFactory= new Configuration().configure(new
File(System.getProperty("jonas.base")+File.separator+"conf"+File.separator+"arcadia.cfg.xml")).buildSessionFactory();


Après ça, ça fonctionne, mais je me suis un peu battu avec un autre
problème. J'ai une tache Ant qui construit les fichiers .hbm.xml à
partir des baslises XDoclet contenues dans mon code. J'ai ensuite une
autre tâche (ejbjar) qui construit le jar résultat qui contient les
class entités, les EJB et les .hbm.xml. Le truc c'est que en mettant
l'attribut dependency=full, je ne récupère dans le .jar que les classes
utilisées dans mon code. Résultat, comme je suis pour le moment en phase
de tests et de réflexions, j'ai des entités (et donc des .hbm.xml) qui
ne sont pas utilisées (ou alors sous fomes de Set). Dans le jar, j'ai
donc le .hbm.xml mais pas le .class. Quand je lance le tout, Hibernate
me crie dessus lorsqu'il créé le sessionFactory en me disant qu'il ne
trouve pas l'objet. J'ai résolu ce problème , mais qui sait peut-être
que quelqu'un a déjà eu ce soucis.


Pour en revenir à la question de départ, je n'ai pas encore essayé, mais
il devrait être possible de mettre le fichier hibernate.cfg.xml dans le
jar avec les EJB pour éviter d'avoir à mettre le chemin en dur ?

Cà par contre j'ai essayé avec une web-app, mais je n'y suis pas arrivé.

Hibernate trouve les *.hbm.xml mais pas les cfg.xml dans les war .
Attendons la V3 ...
A+, Nicolas.