2008-08-28 15 views
6

Estoy usando Hibernate en una aplicación Java para acceder a mi base de datos y funciona bastante bien con MS-SQL y MySQL. Pero algunos de los datos que tengo que mostrar en algunos formularios provienen de archivos de texto, y de archivos de texto me refiero a archivos legibles por humanos, pueden ser CSV, delimitados por tabulaciones, o incluso un par clave, valor, por línea desde mis datos son tan simples como esto, pero mi preferencia, por supuesto, son los archivos XML.Uso de Hibernate para trabajar con archivos de texto

Mi pregunta es: ¿Puedo usar hibernate para leer esos archivos usando HQL, Query, EntityManager y todos esos recursos que Hibernate me da para acceder a los archivos. ¿Qué formato de archivo debo usar y cómo configuro mi archivo persistence.xml para reconocer archivos como tablas?

Respuesta

7

Hibernate está escrito con la API de JDBC. Por lo tanto, necesita un controlador JDBC que funcione con el formato de archivo que le interese. Obviamente, incluso para el acceso de solo lectura, esto no funcionará bien, pero podría ser útil si no es una prioridad. En un sistema Windows, puede configurar los orígenes de datos ODBC para archivos de texto delimitados, archivos de Excel, etc. Luego puede configurar el JdbcOdbcDriver en su aplicación Java para usar esta fuente de datos.

Para la mayoría de las aplicaciones en las que trabajo, no consideraría este enfoque; Utilizaría un mecanismo de importación/exportación para convertir desde una base de datos real (incluso si es una base de datos en proceso como Berkeley DB o Derby) a los archivos de texto. Sí, es un paso adicional, pero podría automatizarse, y el rendimiento no sería mucho peor que tratar de usar los archivos de texto directamente (probablemente será mucho mejor, en general), y será más robusto y fácil de desarrollar

0

Como dijo erickson, su única esperanza es encontrar un controlador JDBC para esa tarea. Hay quizás xlsql (controlador CSV, XML y Excel) que podría encajar en la tarea. Después de eso, solo tiene que encontrar o escribir el dialecto de Hibernate más simple que se adapte a su controlador.

+1

El enlace actualizado para xlsql es http://sourceforge.net/projects/xlsql/ Parece que está en alfa desde 2004. –

Cuestiones relacionadas