IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Hibernate Java Discussion :

Données dans des fichiers XML


Sujet :

Hibernate Java

  1. #1
    Membre averti

    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 385
    Points : 321
    Points
    321
    Par défaut Données dans des fichiers XML
    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 :
    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>
    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.

    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 :
    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>
    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 ????

    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.

  2. #2
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    tiens j'ai trouve ca apparement il font quelque chose qui ressemble a ce que tu veux faire ...
    http://www.dil.univ-mrs.fr/~massat/a...2005-midihaou/

  3. #3
    Membre confirmé
    Avatar de grishka
    Inscrit en
    Janvier 2003
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 285
    Points : 499
    Points
    499
    Par défaut
    Effectivement, hibernate nécessite toujours un SGBDR pour la persistance des objets java ! Sauf que les objets java peuvent être des éléments de l'api DOM en plus des POJO qu'on utilise habituellement. Du coup, Hibernate te permet simplement de synchroniser des doc xml avec une base de donnée!

    Si tu veux mapper un document xml sur des objets java, avec fonctionnalités de recherche, sans nécessairement gérer les écritures, il te faut passer par un autre framework!

    piste : regardes du coté de commons-digester ou jaxb pour mapper un document xml sur des pojo. Concernant les recherches, tu peux utiliser XPath ou XQuery sur un arbre dom chargé en mémoire...
    "Les gens normaux croient que si ca marche, c'est qu'il n'y a rien à reparer. Les ingénieurs croient que si ca marche, c'est que ca ne fait pas encore assez de choses."
    --Scott Adams

  4. #4
    Membre averti

    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 385
    Points : 321
    Points
    321
    Par défaut
    Merci pour vos réponses.

    Je vais voir ce que je peux faire avec d'autres framework.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 31/03/2011, 22h45
  2. Réponses: 8
    Dernier message: 30/01/2009, 14h02
  3. Récuperer des données dans un fichier XML/ Sitemap
    Par Maldus dans le forum ASP.NET
    Réponses: 6
    Dernier message: 07/07/2008, 17h25
  4. Réponses: 6
    Dernier message: 05/02/2008, 22h52
  5. [XML] stocker des données dans un fichier XML
    Par R3iTt0R dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 27/05/2005, 16h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo