2010-01-08 7 views
1

J'utilise une application Web JBoss Seam avec Hibernate comme fournisseur de persistance. J'envisage de migrer vers OSGI pour simplifier le déploiement et les mises à jour.OSGI - Hibernate + JBoss Seam

Je n'ai encore aucune expérience avec OSGI, donc je ne sais pas si cela peut être fait et quelles sont les limites. Par exemple, si je change de classe d'entité et que je veux qu'Hibernate lâche des tables et en crée de nouvelles, cela sera-t-il possible? Est-ce que hibernate a besoin d'avoir des hooks dans OSGI donc il sait dropper la table a et créer la table b?

Walter

Répondre

0

Je ne suis pas sûr de bien saisir votre question. Si vous choisissez d'utiliser OSGi pour modulariser votre application, ce choix n'a aucun impact sur le comportement d'Hibernate. Vous pouvez, bien sûr, effectuer des appels dans les API SchemaExport ou SchemaUpdate lorsque vous activez des ensembles pour gérer votre schéma, mais Hibernate ne gère pas ce processus pour vous. Vous devrez le faire vous-même.

+0

Ok, Rob, je pense que c'est logique. Donc, chaque fois que je mettrai à jour mes classes d'entités, je devrai appeler Schema Export/Update? Je pense que tout ce que je vais faire, c'est ajouter des classes d'entités. Si je mets à jour la structure de la table, il devient beaucoup plus difficile de migrer automatiquement les données. J'aurais besoin d'exporter des données, puis de les réinsérer avec le nouveau schéma. –

+0

Oui, l'outil SchemaUpdate de Hibernate est plutôt simpliste. Vous aurez besoin de quelque chose de plus avancé si vous avez besoin de faire n'importe quel type de conversion de schéma non trivial tout en préservant les données existantes. (Mon entreprise a construit un outil interne à cette fin.) Quoi qu'il en soit, si vous appelez les outils de schéma d'Hibernate lors de l'activation du bundle, n'oubliez pas de créer également de nouveaux objets Configuration et SessionFactory pour récupérer vos modifications. –

Questions connexes