Author: chatellier Date: 2009-03-02 10:09:53 +0000 (Mon, 02 Mar 2009) New Revision: 1402 Modified: topia/trunk/topia-persistence/src/site/fr/rst/howto.rst Log: Mise ?\195?\160 jour du howto topia Modified: topia/trunk/topia-persistence/src/site/fr/rst/howto.rst =================================================================== --- topia/trunk/topia-persistence/src/site/fr/rst/howto.rst 2009-02-25 11:18:11 UTC (rev 1401) +++ topia/trunk/topia-persistence/src/site/fr/rst/howto.rst 2009-03-02 10:09:53 UTC (rev 1402) @@ -21,22 +21,24 @@ Exemple : -# Précise comment est mappé un type -# model.tagvalue.<type java>=<type base de donnée> -model.tagvalue.java.lang.String=text +:: -# Précise le schema de la base de données par défaut -# model.tagvalue.dbSchema=<nom schéma> -model.tagvalue.dbSchema=test + # Précise comment est mappé un type + # model.tagvalue.<type java>=<type base de donnée> + model.tagvalue.java.lang.String=text + + # Précise le schema de la base de données par défaut + # model.tagvalue.dbSchema=<nom schéma> + model.tagvalue.dbSchema=test + + # Précise l'entête de l'ensemble des fichiers générés + # model.tagvalue.copyright=<valeur> + model.tagvalue.copyright=/* *##%\n Copyright (C) 2009 Code Lutin\n *##% */ + + # Force le chargement d'un attribut + # <nom paquetage>.<nom entité>.attribute.<nom attribut>.tagvalue.lazy=false + org.codelutin.Person.attribute.association.tagvalue.lazy=false -# Précise l'entête de l'ensemble des fichiers générés -# model.tagvalue.copyright=<valeur> -model.tagvalue.copyright=/* *##%\n Copyright (C) 2007 Code Lutin\n *##% */ - -# Force le chargement d'un attribut -# <nom paquetage>.<nom entité>.attribute.<nom attribut>.tagvalue.lazy=false -org.codelutin.Person.attribute.association.tagvalue.lazy=false - Génération ---------- @@ -46,10 +48,12 @@ Configuration du plugin maven : -<plugin> +:: + + <plugin> <groupId>org.codelutin</groupId> <artifactId>maven-generator-plugin</artifactId> - <version>0.63</version> + <version>0.64</version> <executions> <execution> <phase>process-sources</phase> @@ -76,11 +80,11 @@ <dependency> <groupId>org.codelutin.topia</groupId> <artifactId>topia-persistence</artifactId> - <version>2.1.0-SNAPSHOT</version> + <version>2.1.3</version> <scope>compile</scope> </dependency> </dependencies> -</plugin> + </plugin> Le plugin utilise lutin generator avec les templates de génération de Topia, le fichier argouml ou poséidon doit se trouver dans le répertoire @@ -90,12 +94,14 @@ Ajout dans des dépendances de Topia pour la compilation des fichiers générés : -<dependency> +:: + + <dependency> <groupId>org.codelutin.topia</groupId> <artifactId>topia-persistence</artifactId> - <version>2.1.1</version> + <version>2.1.3</version> <scope>compile</scope> -</dependency> + </dependency> Pour une classe modélisée, nous retrouvons 6 fichiers : * Une interface @@ -115,34 +121,36 @@ Exemple : -# Permet la création, la modification, ou pas automatique de la base de données -# [create | update | none] -hibernate.hbm2ddl.auto=update +:: -# Affichage des requêtes dans la console -# [true | false] -hibernate.show_sql=false + # Permet la création, la modification, ou pas automatique de la base de données + # [create | update | none] + hibernate.hbm2ddl.auto=update + + # Affichage des requêtes dans la console + # [true | false] + hibernate.show_sql=false + + # Permet de préciser les classes a persister + topia.persistence.classes=org.codelutin.Person, org.codelutin.Pet + + # Informations de connection : + + # Dialect à utiliser + hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect + + # Driver JDBC + hibernate.connection.driver_class=org.postgresql.Driver -# Permet de préciser les classes a persister -topia.persistence.classes=org.codelutin.Person, org.codelutin.Pet + # URL de connection + hibernate.connection.url=jdbc:postgresql://localhost/mydb -# Informations de connection : + # Login de l'utilisateur qui se connecte + hibernate.connection.username=user + + # Mot de passe de l'utilisateur + hibernate.connection.password=xxxx -# Dialect à utiliser -hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect - -# Driver JDBC -hibernate.connection.driver_class=org.postgresql.Driver - -# URL de connection -hibernate.connection.url=jdbc:postgresql://localhost/mydb - -# Login de l'utilisateur qui se connecte -hibernate.connection.username=user - -# Mot de passe de l'utilisateur -hibernate.connection.password=xxxx - Utilisation ----------- @@ -156,7 +164,9 @@ Gestion des transactions ~~~~~~~~~~~~~~~~~~~~~~~~ ->>> Properties conf = Resource.getConfigProperties("/TopiaContext.properties"); +>>> Properties conf = new Properties(); +URL url = Resource.getURL("TopiaContextImpl.properties"); +conf.load(new FileInputStream(new File(url.toURI()))); Permet de charger un fichier contenant les informations de connexion à la base et de configuration de Topia. @@ -222,23 +232,28 @@ Exemple ~~~~~~~ -Properties conf = Resource.getConfigProperties("/TopiaContext.properties"); -TopiaContext rootContext = TopiaContextFactory.getContext(conf); +:: -TopiaContext transaction = rootContext.beginTransaction(); -PersonDAO personDAO = ModelHelper.getPersonDAO(transaction); - -Person person = personDAO.create(); -person.set...(...); -person.set...(...); -personDAO.update(person); - -person.get...(...); -person.get...(...); - -personDAO.delete(person); - -transaction.commitTransaction(); -transaction.closeContext(); - -rootContext.closeContext(); + Properties conf = new Properties(); + URL url = Resource.getURL("TopiaContextImpl.properties"); + conf.load(new FileInputStream(new File(url.toURI()))); + + TopiaContext rootContext = TopiaContextFactory.getContext(conf); + + TopiaContext transaction = rootContext.beginTransaction(); + PersonDAO personDAO = ModelHelper.getPersonDAO(transaction); + + Person person = personDAO.create(); + person.set...(...); + person.set...(...); + personDAO.update(person); + + person.get...(...); + person.get...(...); + + personDAO.delete(person); + + transaction.commitTransaction(); + transaction.closeContext(); + + rootContext.closeContext();
participants (1)
-
chatellier@users.labs.libre-entreprise.org