Frage

ich benutze Überwintern in einer Java-Anwendung, um auf meine Datenbank zuzugreifen, und es funktioniert ziemlich gut mit MS-SQL und MySQL.Aber einige der Daten, die ich auf einigen Formularen anzeigen muss, müssen aus Textdateien stammen, und mit Textdateien meine ich menschenlesbare Dateien. Sie können seitdem CSV, tabulatorgetrennt oder sogar ein Schlüssel-Wert-Paar pro Zeile sein Meine Daten sind so einfach, aber ich bevorzuge natürlich XML-Dateien.

Meine Frage ist:Kann ich den Ruhezustand verwenden, um diese Dateien mithilfe von HQL, Query, EntityManager und all diesen Ressourcen zu lesen, die Hibernate mir für den Zugriff auf Dateien zur Verfügung stellt?Welches Dateiformat sollte ich verwenden und wie konfiguriere ich meine Datei persistence.xml, um Dateien als Tabellen zu erkennen?

War es hilfreich?

Lösung

Hibernate wird gegen die JDBC-API geschrieben.Sie benötigen also einen JDBC-Treiber, der mit dem Dateiformat funktioniert, an dem Sie interessiert sind.Offensichtlich wird dies selbst bei schreibgeschütztem Zugriff keine gute Leistung erbringen, aber es könnte dennoch nützlich sein, wenn dies keine hohe Priorität hat.Auf einem Windows-System können Sie ODBC-Datenquellen für durch Trennzeichen getrennte Textdateien, Excel-Dateien usw. einrichten.Anschließend können Sie den JdbcOdbcDriver in Ihrer Java-Anwendung einrichten, um diese Datenquelle zu verwenden.

Für die meisten Anwendungen, an denen ich arbeite, würde ich diesen Ansatz nicht in Betracht ziehen;Ich würde einen Import-/Exportmechanismus verwenden, um von einer echten Datenbank (auch wenn es sich um eine In-Process-Datenbank wie Berkeley DB oder Derby handelt) in Textdateien zu konvertieren.Ja, es ist ein zusätzlicher Schritt, aber er könnte automatisiert werden, und die Leistung wird wahrscheinlich nicht viel schlechter sein als beim Versuch, die Textdateien direkt zu verwenden (insgesamt wird sie wahrscheinlich viel besser sein), und sie wird robuster sein und einfach zu entwickeln.

Andere Tipps

Eine schnelle Google-Suche ergab

Hoffen Sie, dass dies etwas Inspiration sein könnte?

Wie Erickson sagte, besteht Ihre einzige Hoffnung darin, einen JDBC-Treiber für diese Aufgabe zu finden.Es gibt vielleicht xlsql (CSV-, XML- und Excel-Treiber), der zur Aufgabe passen könnte.Danach müssen Sie nur noch den einfachsten Hibernate-Dialekt finden oder schreiben, der zu Ihrem Treiber passt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top