我在Java应用程序中使用Hibernate来访问我的数据库,它在MS-SQL和MySQL上运行良好.但是我必须在某些表单上显示的一些数据必须来自文本文件,而文本文件我指的是人类可读文件,它们可以是CSV,Tab-Delimited,甚至是每行的键值对.我的数据就像这样简单,但我当然喜欢XML文件.
我的问题是:我可以使用hibernate来读取这些文件,使用HQL,Query,EntityManager以及Hibernate为我提供访问文件的所有资源.我应该使用哪种文件格式以及如何配置My persistence.xml文件以将文件识别为表格?
Hibernate是针对JDBC API编写的.因此,您需要一个可以使用您感兴趣的文件格式的JDBC驱动程序.显然,即使是只读访问,这也不会很好,但如果它不是高优先级,它可能仍然有用.在Windows系统上,您可以为分隔的文本文件,Excel文件等设置ODBC数据源.然后,您可以在Java应用程序中设置JdbcOdbcDriver以使用此数据源.
对于我工作的大多数应用程序,我不会考虑这种方法; 我会使用导入/导出机制将真实数据库(即使它是像Berkeley DB或Derby这样的进程内数据库)转换为文本文件.是的,这是一个额外的步骤,但它可以是自动化的,并且性能不会比尝试直接使用文本文件更差(它可能会更好,总体而言),并且它将更加强大,容易发展.
一个快速的谷歌想出来
csv文件的JDBC驱动程序
XML文件的JDBC驱动程序
希望这可能会提供一些灵感?