2010-02-18 6 views
2

J'écris un projet qui utilisera mySQL ou Derby (il doit fonctionner dans les deux cas). Pour résoudre ce problème, j'utilise Hibernate et cela fonctionne bien, mais pour une situation: j'ai quelques tables qui contiennent des villes et des villes, avec des données liées de sorte que si je connais la ville, je peux rejoindre et obtenir le comté, état et code postal. Ces tables sont pleines de milliers de lignes. Je n'utilise pas Hibernate pour les gérer, mais simplement JDBC. Ces tableaux ne vont pas changer dans le temps, ils sont juste pour référence et pour les besoins d'auto-complétion. Alors, quel est le meilleur moyen de reproduire ces tables dans mySQL et JavaDB? Plus précisément, ils doivent être générés au premier démarrage de l'application. J'ai pensé à créer un format spécial et tout sauvegarder dans des fichiers texte, puis à la première exécution, ils seront insérés dans la base de données ... mais y a-t-il un moyen d'économiser du codage et d'utiliser un outil déjà existant? J'ai trouvé beaucoup de gens disant utiliser le CSV, mais ce n'est pas le cas car il ne conserve pas d'informations comme le type de colonne ou la longueur. Idem pour le XML généré par mon outil mySQL (sqlYog). Avez-vous d'autres suggestions ou outils?Exportation de plusieurs bases de données de schémas

Répondre

0

Je voudrais utiliser Hibernate et mapper les entités comme mutable = false. Hibernate n'est alors pas autorisé à changer quoi que ce soit. Créez le schéma à l'aide des moyens Hibernate standard, puis utilisez IStatelessSession pour insérer les enregistrements, en veillant à activer le traitement par lots.

+0

Hmmm ... oui mais comment sauvegarder les données de la table? – gotch4

+0

Chargez les enregistrements à partir de votre fichier texte et exécutez statelessSession.Insert sur chacun d'eux. Vous aurez déjà la définition de la table dans votre fichier de mapping. –

Questions connexes