Bonjour,
j'aimerais savoir si il était possible de gérer la persistance de données se trouvant dans un fichier XML.
--> Voici un extrait de mon fichier XML :
J'ai lu qu'Hibernate 3 pouvais effectuer ce genre de mapping via l'attribut node au lei de l'attribut column. Par contre, je n'ai trouvé aucun exemple concret permettant de réaliser un fichier mapping correspondant à mes besoins.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <services> <service id="monService" name="Un Service" kind="XML" > <params> <param name="cd" mandatory="true" editable="true" /> <param name="p" mandatory="false" editable="true" /> <param name="nm" mandatory="true" editable="false" initvalue="0" /> <param name="tr" mandatory="true" editable="false" initvalue="1" /> <param name="ty" mandatory="true" editable="false" initvalue="0" /> <param name="cr" mandatory="true" editable="false" initvalue="0" /> </params> </service> ... </services>
Voici une ébauche que j'ai effectué :
--> Service.hbm.xml :
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
18
19 <hibernate-mapping> <class name="domain.model.Service" node="service"> <!-- Identifiant --> <id name="name" node="@id" type="string" length="30" /> <!-- Autres propriétés --> <property name="privateService" node="@private" type="boolean" not-null="true" /> <property name="kind" node="@kind" type="string" length="15" not-null="true" /> <!-- Relation one-to-many --> <map name="parameters" node="." embed-xml="true"> <key column="???????" not-null="true" /> <map-key node="@name" type="string"/> <one-to-many entity-name="ServiceParameter" embed-xml="false" node="param" /> </map> </class> </hibernate-mapping>
--> ServiceParameter.hbm.xml :
Je viens de relire certaines doc tout en écrivant ce message. Il semblerait peut-être que je me soit trompé quand à l'utilisation des possibilités d'hibernate. Apparement, les fonctionnalités de mapping vers des données xml servent à faire des imports/exports avec des tables ????
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 <hibernate-mapping> <class name="domain.model.ServiceParameter" node="param"> <!-- Identifiant composé : nom du service + nom du paramètre --> <composite-id name="compId" class="domain.model.ServiceParameterId"> ??? </composite-id> <!-- Autres propriétés --> <property name="mandatory" node="@mandatory" type="boolean" not-null="true" /> <property name="editable" node="@editable" type="boolean" not-null="true" /> <property name="initValue" node="@initvalue" type="string" length="45" /> </class> </hibernate-mapping>
Finallement, je ne sais pas par quel chemin je dois effectuer le chargement des données présentes dans mes fichiers XML. Surtout que je dois uniquement accéder à ces fichiers en lecture seule car je n'ai pas besoin d'ajouter ni de modifier ni de supprimer du contenu.
Si vous avez une idée concernant la meilleure manière de charger ces données, je suis preneur.
Merci par avance.
Partager