Использование Hibernate для работы с текстовыми файлами - PullRequest
8 голосов
/ 29 августа 2008

Я использую Hibernate в приложении Java для доступа к моей базе данных, и она прекрасно работает с MS-SQL и MySQL. Но некоторые данные, которые я должен показывать в некоторых формах, должны поступать из текстовых файлов, а под текстовыми файлами я имею в виду удобочитаемые файлы, они могут быть CSV, с разделителями табуляцией или даже парой значений ключей на строку, поскольку мои данные так же просты, но я предпочитаю файлы XML.

Мой вопрос: могу ли я использовать hibernate для чтения этих файлов, используя HQL, Query, EntityManager и все эти ресурсы, которые Hibernate предоставляет мне для доступа к файлам. Какой формат файла следует использовать и как настроить файл My persistence.xml для распознавания файлов в виде таблиц?

Ответы [ 3 ]

8 голосов
/ 29 августа 2008

Hibernate написан с использованием API JDBC. Итак, вам нужен драйвер JDBC, который работает с интересующим вас форматом файла. Очевидно, что даже для доступа только для чтения это не будет работать хорошо, но все же может быть полезно, если это не является высоким приоритетом. В системе Windows вы можете настроить источники данных ODBC для текстовых файлов с разделителями, файлов Excel и т. Д. Затем вы можете настроить JdbcOdbcDriver в своем приложении Java для использования этого источника данных.

Для большинства приложений, над которыми я работаю, я бы не стал рассматривать этот подход; Я бы использовал механизм импорта / экспорта для преобразования из реальной базы данных (даже если это внутренняя база данных, например, Berkeley DB или Derby) в текстовые файлы. Да, это дополнительный шаг, но он может быть автоматизирован, и производительность вряд ли будет намного хуже, чем попытка использовать текстовые файлы напрямую (скорее всего, будет намного лучше, в целом), и он будет более надежным и легко развивается.

6 голосов
/ 29 августа 2008

Быстрый гугл придумал

Надеюсь, это может послужить источником вдохновения?

0 голосов
/ 29 августа 2008

Как сказал Эриксон, ваша единственная надежда - найти драйвер JDBC для этой задачи. Может быть xlsql (драйвер CSV, XML и Excel), который может соответствовать задаче. После этого вам просто нужно найти или написать самый простой Hibernate Dialect, который подходит вашему драйверу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...