2008-08-28 16 views
6

Używam Hibernate w aplikacji Java, aby uzyskać dostęp do mojej bazy danych i działa całkiem dobrze z MS-SQL i MySQL. Ale niektóre dane, które muszę pokazać w niektórych formularzach, muszą pochodzić z plików tekstowych, a przez pliki tekstowe mam na myśli pliki czytelne dla człowieka, mogą to być CSV, rozdzielane tabulatorami, a nawet para klucz-wartość, za linię, ponieważ moje dane są tak proste, ale moje preferencje to oczywiście pliki XML.Używanie Hibernate do pracy z plikami tekstowymi

Moje pytanie brzmi: Czy mogę użyć hibernacji do odczytania tych plików za pomocą HQL, Query, EntityManager i wszystkich tych zasobów Hibernate zapewnia mi dostęp do plików. Który format pliku należy użyć i jak skonfigurować plik Moja_ustawienia.xml w celu rozpoznawania plików jako tabel?

Odpowiedz

7

Hibernacja jest napisana w oparciu o interfejs API JDBC. Potrzebny jest zatem sterownik JDBC, który działa z wybranym formatem pliku. Oczywiście, nawet w przypadku dostępu tylko do odczytu, to nie będzie działało dobrze, ale może być przydatne, jeśli nie jest to wysoki priorytet. W systemie Windows można ustawić źródła danych ODBC dla rozdzielonych plików tekstowych, plików Excel itp. Następnie można skonfigurować JdbcOdbcDriver w aplikacji Java, aby korzystać z tego źródła danych.

W przypadku większości aplikacji, nad którymi pracuję, nie rozważam takiego podejścia; Chciałbym użyć mechanizmu importu/eksportu, aby przekonwertować z prawdziwej bazy danych (nawet jeśli jest to baza danych w procesie, taka jak Berkeley DB lub Derby) do plików tekstowych. Tak, to dodatkowy krok, ale może być zautomatyzowany, a wydajność prawdopodobnie nie będzie dużo gorsza niż próba bezpośredniego użycia plików tekstowych (prawdopodobnie będzie znacznie lepsza, ogólnie), a będzie bardziej odporna i łatwe do opracowania.

0

Tak jak powiedział Erickson, jedyną nadzieją jest znalezienie sterownika JDBC dla tego zadania. Możliwe, że może być (sterownik CSV, XML i Excel), który może pasować do zadania. Następnie wystarczy znaleźć lub napisać najprostszy dialekt hibernacji, który pasuje do sterownika.

+1

Zaktualizowany link do xlsql to http://sourceforge.net/projects/xlsql/ Wydaje się, że jest w wersji alfa od 2004 roku. –

Powiązane problemy