2008-08-28 25 views
6

Tôi đang sử dụng Hibernate trong một ứng dụng Java để truy cập Cơ sở dữ liệu của tôi và nó hoạt động khá tốt với MS-SQL và MySQL. Nhưng một số dữ liệu tôi phải hiển thị trên một số biểu mẫu phải đến từ tệp Văn bản và theo tệp Văn bản tôi có nghĩa là tệp Có thể đọc được, chúng có thể là CSV, Tab-Delimited hoặc thậm chí là cặp khóa, giá trị, mỗi dòng từ dữ liệu của tôi đơn giản như vậy, nhưng sở thích của tôi tất nhiên là các tệp XML.Sử dụng Hibernate để làm việc với Tập tin Văn bản

Câu hỏi của tôi là: Tôi có thể sử dụng chế độ ngủ đông để đọc các tệp đó bằng HQL, Query, EntityManager và tất cả các tài nguyên đó Hibernate cung cấp cho tôi truy cập tệp. Tôi nên sử dụng định dạng tệp nào và cách tôi định cấu hình tệp persistence.xml của tôi để nhận dạng tệp dưới dạng Bảng?

Trả lời

7

Hibernate được viết dựa trên API JDBC. Vì vậy, bạn cần một trình điều khiển JDBC hoạt động với định dạng tệp mà bạn quan tâm. Rõ ràng, ngay cả đối với quyền truy cập chỉ đọc, điều này sẽ không hoạt động tốt, nhưng nó vẫn có thể hữu ích nếu đó không phải là ưu tiên cao. Trên hệ thống Windows, bạn có thể thiết lập nguồn dữ liệu ODBC cho tệp văn bản được phân cách, tệp Excel, v.v. Sau đó, bạn có thể thiết lập JdbcOdbcDriver trong ứng dụng Java của mình để sử dụng nguồn dữ liệu này.

Đối với hầu hết các ứng dụng tôi làm việc, tôi sẽ không xem xét phương pháp này; Tôi sẽ sử dụng một cơ chế nhập/xuất để chuyển đổi từ một cơ sở dữ liệu thực (ngay cả khi nó là một cơ sở dữ liệu trong quá trình như Berkeley DB hoặc Derby) vào các tệp văn bản. Có, đó là một bước bổ sung, nhưng nó có thể được tự động hóa và hiệu suất không có khả năng tồi tệ hơn nhiều so với cố gắng sử dụng tệp văn bản trực tiếp (nó có thể sẽ tốt hơn, tổng thể) và sẽ mạnh mẽ hơn dễ phát triển.

0

Giống như erickson đã nói, hy vọng duy nhất của bạn là tìm kiếm trình điều khiển JDBC cho nhiệm vụ đó. Có thể xlsql (trình điều khiển CSV, XML và Excel) có thể phù hợp với tác vụ. Sau đó, bạn chỉ cần tìm hoặc viết phương ngữ Hibernate đơn giản nhất phù hợp với trình điều khiển của bạn.

+1

Liên kết được cập nhật cho xlsql là http://sourceforge.net/projects/xlsql/ Có vẻ như nó ở dạng alpha từ năm 2004. –

Các vấn đề liên quan