Flux RSS d'opikanoba.org

Sur l’interopérabilité, l’architecture et les systèmes d’informations de santé


Hibernate 3.0 ajoute la persistance des documents XML - fichiers d’exemple

Le test suivant se propose de tester la nouvelle fonctionnalité de mapping XML d’Hibernate. Voir l’article associé, pour plus d’informations.

Le projet se compose de plusieurs répertoires :

  • cfg : fichiers de configuration d’Hibernate, de propriétés (hibernate et log) et script pour la création de la table de la base de données
  • res : fichier XML de données, qui seront insérées dans la base
  • src : sources Java du test
  • build.xml: fichier Ant de compilation, exécution du test

Initialisation de la base

La base de données utilisée pour ce test, HSQLdb, est 100% Java et très simple à installer. Après l’avoir téléchargé et décrompressée dans un répertoire, il suffit de lancer le serveur et de provisionner la table. Pour plus d’informations, consulter la note à ce sujet.

java -cp lib/hsqldb.jar org.hsqldb.Server

Une fois le serveur démarré, l’insertion se fait à l’aide du DatabaseManager, par lecture et exécution du script SQL (create_todo.sql) suivant :

DROP TABLE TODO_TASK if EXISTS;

CREATE TABLE TODO_TASK (
  TODOID INTEGER NOT NULL PRIMARY KEY,
  SUMMARY VARCHAR(45) NOT NULL ,
  DESCRIPTION VARCHAR(45),
  PRIORITY INTEGER,
  DONE TIMESTAMP);

INSERT INTO TODO_TASK VALUES(001,'faire le cafe',
  'Prendre 7 volumes deau et 7 volumes de cafe', 1, CURRENT_DATE);

Ce script se situe dans le répertoire cfg du projet.

Lancement du test

Le test se lance grâce au script Ant. Il compile les classes et lance le programme Java MappingXML qui réalise 3 opérations :

  • modification de données via la manipulation d’un POJO (scénario classique)
  • lecture d’un fichier XML et insertion de ses données dans la base en utilisant les facilités d’Hibernate
  • consultation de la base, et génération d’un fichier de résultat au format XML
> ant

...
     [java] <?xml version=”1.0″ encoding=”UTF-8″?>

     [java] <todolist>
     [java]   <todo id=”1″ priority=”1″>
     [java]     <sum>faire le cafe</sum>

     [java]     <descr>Prendre 7 volumes deau et 7 volumes de cafe</descr>
     [java]     <doneDate>2005-05-02 00:00:00</doneDate>
     [java]   </todo>
     [java]   <todo id=”2″ priority=”2″>

     [java]     <sum>Faire une pause</sum>
     [java]     <descr>Allez a la cafet, prendre un cafe avec Bob</descr>
     [java]   </todo>
     [java]   <todo id=”4″ priority=”2″>

     [java]     <sum>installer eclipse</sum>
     [java]     <descr>une nouvelle version est disponible</descr>
     [java]   </todo>
     [java]   <todo id=”5″ priority=”1″>

     [java]     <sum>redemarrer le serveur</sum>
     [java]     <descr>une mise a jour du serveur tartenpion necessite un redemarrage</descr>
     [java]   </todo>
     [java]   <todo id=”6″ priority=”3″>

     [java]     <sum>documentation du product</sum>
     [java]     <descr>faire une documentation complete de notre super produit</descr>
     [java]   </todo>
     [java] </todolist>

all:

BUILD SUCCESSFUL

Le bean Java utilisé est bean.TodoTask et son fichier de correspondance Hibernate, Todo.hbm.xml, se trouve dans le répertoire cfg.

Fichiers

En résumé, voici les fichiers utilisés pour ce test :

 |   build.xml
 |
 +—- cfg
 |       create_todo.sql
 |       hibernate.properties
 |       log.properties
 |       Todo.hbm.xml
 |
 +—- res
 |       todo-ex.xml
 |
 \—- src
       |   MappingXML.java
       |
       \—- bean
                TodoTask.java

Laisser un commentaire