Question

j'utilise Hiberner dans une application Java pour accéder à ma base de données et cela fonctionne plutôt bien avec MS-SQL et MySQL.Mais certaines des données que je dois afficher sur certains formulaires doivent provenir de fichiers texte, et par fichiers texte, j'entends des fichiers lisibles par l'homme, ils peuvent être CSV, délimités par des tabulations, ou même une paire clé-valeur, par ligne puisque mes données sont aussi simples que cela, mais ma préférence va bien sûr aux fichiers XML.

Ma question est:Puis-je utiliser Hibernate pour lire ces fichiers à l'aide de HQL, Query, EntityManager et toutes ces ressources qu'Hibernate me fournit pour accéder aux fichiers.Quel format de fichier dois-je utiliser et comment configurer mon fichier persistence.xml pour reconnaître les fichiers en tant que tableaux ?

Était-ce utile?

La solution

Hibernate est écrit avec l'API JDBC.Vous avez donc besoin d'un pilote JDBC qui fonctionne avec le format de fichier qui vous intéresse.Évidemment, même pour un accès en lecture seule, cela ne fonctionnera pas correctement, mais cela pourrait quand même être utile si ce n'est pas une priorité élevée.Sur un système Windows, vous pouvez configurer des sources de données ODBC pour des fichiers texte délimités, des fichiers Excel, etc.Vous pouvez ensuite configurer JdbcOdbcDriver dans votre application Java pour utiliser cette source de données.

Pour la plupart des applications sur lesquelles je travaille, je n'envisagerais pas cette approche ;J'utiliserais un mécanisme d'importation/exportation pour convertir une base de données réelle (même s'il s'agit d'une base de données en cours comme Berkeley DB ou Derby) vers les fichiers texte.Oui, c'est une étape supplémentaire, mais elle pourrait être automatisée, et les performances ne seront probablement pas bien pires que d'essayer d'utiliser les fichiers texte directement (ce sera probablement bien meilleur, dans l'ensemble), et ce sera plus robuste et facile à développer.

Autres conseils

Un rapide google a trouvé

J'espère que cela pourra vous inspirer ?

Comme l'a dit Erickson, votre seul espoir est de trouver un pilote JDBC pour cette tâche.Il y a peut-être xlsql (pilote CSV, XML et Excel) qui pourrait convenir à la tâche.Après cela, il vous suffit de trouver ou d'écrire le dialecte Hibernate le plus simple qui correspond à votre pilote.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top