See: Description
Interface | Description |
---|---|
TopiaContext |
TODO-FD20100507 : Need javadoc + translate the one on methods.
|
Class | Description |
---|---|
TopiaContextFactory |
TODO-FD20100507 : Need javadoc + translate the one on methods.
|
Exception | Description |
---|---|
TopiaException |
Main exception for Topia errors on hibernate manipulations.
|
TopiaNotFoundException |
TODO-FD20100507 : Need javadoc.
|
TopiaRuntimeException |
TODO-FD20100507 : Need javadoc.
|
TopiaVetoException |
TODO-FD20100507 : Need javadoc.
|
ToPIA est un framework de persistence basé sur Hibernate. Il contient un point d'entré le TopiaContext qui permet d'ouvrir des transactions qui retourne des TopiaContext fils sur lequel on peut récupéré des DAO pour accèder aux entités.
ToPIA offre en plus la possibilité de générer à partir d'une fichier XMI toutes les classes utiles pour la persistence. Ce qui permet d'évité un travail fastidieux d'ecriture de classe, d'être sur que le jour on l'on veut ajouter une méthode technique (getXML, ...) à toutes ces entités cela sera fait de façon simple et automatique (modification du générateur puis regénération). Et surtout d'avoir des classes générés qui permettent un typage fort de l'application (pas de cast, pas de générique)
Bien sur il est possible d'utilisé ToPIA sans générateur, il est d'ailleurs utilisé ainsi pour les tests
ToPIA contient aussi des classes techniques réutilisables dans ses applications pour tout ce qui touche à l'authentification et l'autorisation (TopiaUser, TopiaGroup, TopiaPermission) (partie non encore développé)
La persistence se base complètement sur hibernate, mais il est aussi possible d'indiquer que certaine classe doivent être sauvé dans des fichiers textes plutot qu'une base de données, cette persistence est appelée FlatFile.
Le TopiaContext doit être configuré avec un objet Properties. Celui-ci peut contenir différentes entrées. Vu que la persistence est complètement basé sur hibernate, même si vous n'avez que des entités sauvé en FlatFile il vous faudra fournir à hibernate un accès à une base de données. Celle-ci peu très bien être une base embarqué comme hsql, mckoi ou derby.
à la place flatfile il est possible de mettre le FQN du DAO utilisé par exemple org.nuiton.topia.persistence.flatfile.TopiaDAOFlatFile
Si directory est absent alors "." est utilisé
les mappings s'écrivent de la façon suivant:
Si key est absent alors on utilise le topiaId, key est utilisé comme nom de fichier de sauvegarde
Si body est absent alors on utilise un fichier de propriété pour sauver l'entity. Si body est présent seul cet attribut sera sauvé.
topia.dao.flatfile.mapping.key=topiaId topia.dao.flatfile.mapping.fr.ifremer.isisfish.entities.Script.key=name topia.dao.flatfile.mapping.fr.ifremer.isisfish.entities.Script.body=script
Copyright © 2004–2022 Code Lutin. All rights reserved.