2008-08-28 8 views
6

Java 응용 프로그램에서 Hibernate을 사용하여 데이터베이스에 액세스하면 MS-SQL 및 MySQL에서 잘 작동합니다. 그러나 일부 양식에 표시해야하는 데이터 중 일부는 텍스트 파일에서 가져와야하며, 텍스트 파일에서는 Human-Readable 파일을 의미하므로 CSV, Tab-Delimited 또는 심지어 키, 값 쌍이 될 수 있습니다. 내 데이터는 이처럼 간단하지만 내 기본 설정은 물론 XML 파일입니다.하이버 네이트를 사용하여 텍스트 파일 작업하기

내 질문은 : Hibernate가 HQL, Query, EntityManager 및 Hibernate가 파일에 액세스 할 수있는 모든 리소스를 사용하여 해당 파일을 읽을 수 있습니까? 어떤 파일 형식을 사용해야하며 테이블로 파일을 인식하도록 내 persistence.xml 파일을 구성하는 방법은 무엇입니까?

답변

7

Hibernate는 JDBC API에 대해 작성되었습니다. 따라서 관심있는 파일 형식으로 작동하는 JDBC 드라이버가 필요합니다. 분명히 읽기 전용 액세스 인 경우에도이 작업은 잘 수행되지 않지만 우선 순위가 높은 경우 유용 할 수 있습니다. Windows 시스템에서는 구분 된 텍스트 파일, Excel 파일 등에 대한 ODBC 데이터 소스를 설정할 수 있습니다. 그런 다음이 데이터 소스를 사용하도록 Java 응용 프로그램에서 JdbcOdbcDriver를 설정할 수 있습니다.

내가 작업하는 대부분의 응용 프로그램에서이 접근 방식을 고려하지 않습니다. 필자는 실제 데이터베이스 (Berkeley DB 또는 Derby와 같은 프로세스 데이터베이스 인 경우)에서 텍스트 파일로 변환하기 위해 가져 오기/내보내기 메커니즘을 사용합니다. 예, 추가 단계이지만 자동화가 가능하며 텍스트 파일을 직접 사용하는 것보다 성능이 훨씬 좋지는 않습니다 (전반적으로 훨씬 좋을 것입니다). 더 강력 할 것입니다. 쉽게 개발할 수 있습니다.

0

에릭슨 (Erickson)이 말했듯이 유일한 희망은 해당 작업을위한 JDBC 드라이버를 찾는 것입니다. 작업에 적합한 xlsql (CSV, XML 및 Excel 드라이버)이있을 수 있습니다. 그 후, 당신은 단지 당신의 드라이버에 맞는 가장 단순한 Hibernate Dialect를 찾거나 써야합니다.

+1

xlsql에 대한 업데이트 된 링크는 http://sourceforge.net/projects/xlsql/입니다. 2004 년부터 알파에있는 것처럼 보입니다. –