Использование гибернации для работы с текстовыми файлами

StackOverflow https://stackoverflow.com/questions/33438

Вопрос

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

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

Это было полезно?

Решение

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

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

Другие советы

Быстрый поиск в Google выдал

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top