8

我在 Java 应用程序中使用Hibernate来访问我的数据库,它与 MS-SQL 和 MySQL 配合得很好。但是我必须在某些表格上显示的一些数据必须来自文本文件,我所说的文本文件是指人类可读文件,它们可以是 CSV、制表符分隔,甚至是键、值对,每行我的数据就是这么简单,但我当然更喜欢 XML 文件。

我的问题是:我可以使用 Hibernate 来使用 HQL、Query、EntityManager 和 Hibernate 为我提供访问文件的所有资源来读取这些文件。我应该使用哪种文件格式以及如何配置我的 persistence.xml 文件以将文件识别为表?

4

3 回答 3

8

Hibernate 是针对 JDBC API 编写的。因此,您需要一个适用于您感兴趣的文件格式的 JDBC 驱动程序。显然,即使对于只读访问,这也不会很好地执行,但如果这不是高优先级,它可能仍然有用。在 Windows 系统上,您可以为分隔文本文件、Excel 文件等设置 ODBC 数据源。然后您可以在 Java 应用程序中设置 JdbcOdbcDriver 以使用此数据源。

对于我从事的大多数应用程序,我不会考虑这种方法。我会使用导入/导出机制将真实数据库(即使它是像 Berkeley DB 或 Derby 这样的进程内数据库)转换为文本文件。是的,这是一个额外的步骤,但它可以自动化,并且性能不会比尝试直接使用文本文件差多少(总体而言,它可能会好得多),而且它会更加健壮和易于开发。

于 2008-08-28T22:07:04.733 回答
6

一个快速的谷歌想出了

希望这可以提供一些启发?

于 2008-08-29T09:39:32.743 回答
0

正如埃里克森所说,您唯一的希望是为该任务找到一个 JDBC 驱动程序。也许有xlsql(CSV、XML 和 Excel 驱动程序)适合该任务。之后,您只需找到或编写适合您的驱动程序的最简单的 Hibernate 方言。

于 2008-08-28T23:46:49.907 回答