java - trabajar - proveedor de persistencia hibernate
Uso de Hibernate para trabajar con archivos de texto (3)
Un Google rápido se le ocurrió
Espero que esto pueda proporcionar algo de inspiración?
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 de lectura humana, 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.
Mi pregunta es: ¿Puedo usar hibernate para leer esos archivos usando HQL, Query, EntityManager y todos esos recursos que Hibernate me brinda para acceder a los archivos. ¿Qué formato de archivo debo usar y cómo configuro mi archivo persistence.xml para reconocer archivos como tablas?
Como dijo Erickson, tu única esperanza es encontrar un controlador JDBC para esa tarea. Hay tal vez xlsql (Controlador CSV, XML y Excel) que podría adaptarse a 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.
Hibernate está escrito contra 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