2008-08-28 20 views
6

Ich verwende Hibernate in einer Java-Anwendung für den Zugriff auf meine Datenbank und es funktioniert ziemlich gut mit MS-SQL und MySQL. Aber einige der Daten, die ich auf einigen Formularen anzeigen muss, müssen von Textdateien kommen, und mit Textdateien meine ich lesefähige Dateien, die CSV, Tab-Delimited oder sogar einen Schlüssel, ein Wertpaar, pro Zeile seither sein können Meine Daten sind so einfach, aber meine Präferenz ist natürlich XML-Dateien.Verwenden von Hibernate zum Arbeiten mit Textdateien

Meine Frage ist: Kann ich Hibernate verwenden, um diese Dateien mit HQL, Query, EntityManager und all diesen Ressourcen lesen Hibernate bietet mir den Zugriff auf Dateien. Welches Dateiformat sollte ich verwenden und wie konfiguriere ich meine persistence.xml-Datei, um Dateien als Tabellen zu erkennen?

Antwort

7

Hibernate wird gegen die JDBC-API geschrieben. Sie benötigen also einen JDBC-Treiber, der mit dem Dateiformat arbeitet, an dem Sie interessiert sind. Offensichtlich wird dies auch für schreibgeschützten Zugriff nicht gut funktionieren, aber es kann immer noch nützlich sein, wenn das keine hohe Priorität hat. Auf einem Windows-System können Sie ODBC-Datenquellen für Textdateien mit Trennzeichen, Excel-Dateien usw. einrichten. Dann 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 berücksichtigen; Ich würde einen Import/Export-Mechanismus verwenden, um von einer echten Datenbank (selbst wenn es sich um eine In-Process-Datenbank wie Berkeley DB oder Derby handelt) in die Textdateien zu konvertieren. Ja, es ist ein zusätzlicher Schritt, aber es könnte automatisiert werden, und die Leistung ist wahrscheinlich nicht viel schlechter als der Versuch, die Textdateien direkt zu verwenden (es wird wahrscheinlich insgesamt viel besser sein), und es wird robuster und leicht zu entwickeln.

0

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

+1

Der aktualisierte Link für xlsql ist http://sourceforge.net/projects/xlsql/ Scheint wie es in Alpha seit 2004 ist. –