# Java > Gnral Java > Persistance des donnes >  [Hibernate][J2EE][EJB3]Persistance dynamique  plusieurs base de donnes

## Soronite

Bonjour tous le monde,
Je suis en train de concevoir une plateforme en J2EE et je suis devant je pense un cas assez atypique...
Je dois dans mon application crer des bases de donnes qui sont enfaite la copie d'une premire base (un copier/coller de base en quelque sorte) puis certains de mes EJBS devront se "brancher" sur la base spcifier le cas chant. Donc voila les questions :
1) Pour crer ma base et mettre mes tables depuis mon programme J2EE je dois :
           - Utiliser une procdure stock (ou une simple requte SQL) ?
           - Utiliser une option ou une mthode de Hibernate pour crer un base de donn et remplir avec les tables de mes Entitys ?

2) Pour "brancher" mes EJBs je dois :
           - Crer une untit de persistance et un datasource, mais comment faire tant donn que tous est configur dans des fichiers xml statiques ???
           - Passer par des classes (et du code...) et non plus des annotations pour grer la persistance ?

Voila j'espre avoir t claire !

Pour information : Je me sert du serveur d'application Jboss 4.2.2 GA, d'une base MySQL 5.0.22, du moteur de persistance Hibernate, et des EJB3

Merci d'avance de vos rponse ou moins d'avoir lu jusqu'ici  ::mouarf::

----------


## Soronite

J'ai continuer mon tude et ma recherche et je me suis dit qu'une procdure stocke ferait trs bien l'affaire pour crer mes bases de donnes qui se base sur un model dj existant de base de donnes!
Pour "brancher" mes EJBs je me suis dit qu'il faudrait que je puisse modifier dans mon programme les proprits du datasource qui est utilis actuellement par mon unit de persistence.
C'est  dire que j'utilise une unit de persistance dj existante (dans mon "persistence.xml") qui se sert d'un datasource pointant vers la base model, et que lorsque j'ai besoin, je me dconnecte de cette base je change dynamiquement les donnes du datasource (surtout pas en dure dans le fichier datasource) puis je me reconnecte.

Mais la question est comment faire ?? Si vous pouviez m'indiquer quelque piste .. Parce que la je patauge un peu sans trop savoir ou chercher pour excuter une telle action !

----------


## Soronite

Bon, sa pas eu l'aire de vous inspirer se post ....
Bai moi j'ai continuer ma recherche.
En lisant un bouquin que l'on ma prter Java Persistence et Hibernate (trs bon bouquin d'ailleurs pour la persistence, les annotations, Hibernate) et en lisant la doc Hibernate j'ai trouver comment faire. Enfaite il faut instancier sont propre "EntityManager", enfin plutot sont propre "Session" (implementation de "EntityManager" sous Hibernate). En initialisant les proprits de Connexion, de mapping on arrive crer un context de persistance dynamiquement dans sont application. Pour se qui veulent un peu de code :


```

```

Avec se systme vous ne pourrez par contre pas utiliser les annotations  ::cry:: . Il faut crer de fichier de mapping xml externe  :;): . Voici le mien "chemin.de.Access.hbm.xml"" :


```

```

Vous trouverez tous les dtails sur l'aide d'Hibernate.

PS: Par contre j'ai essayer de crer mes fichiers de mapping via Hibernate tools et c'est pas trs concluant, il me crer bien le fichier mais me met la balise "class" mais rien dedans  ::?: 

pS2 : A oui petit oublie il a fallu que je crer la base de donnes (Comme d'hab) mais aussi la table  la main pour que cela marche !

----------

