Domanda

sto usando Ibernazione in un'applicazione Java per accedere al mio database e funziona abbastanza bene con MS-SQL e MySQL.Ma alcuni dei dati che devo mostrare su alcuni moduli devono provenire da file di testo e per file di testo intendo file leggibili dall'uomo, possono essere CSV, delimitati da tabulazioni o anche una coppia chiave-valore per riga poiché i miei dati sono semplici come questi, ma la mia preferenza ovviamente sono i file XML.

La mia domanda è:Posso usare l'ibernazione per leggere quei file usando HQL, Query, EntityManager e tutte quelle risorse che Hibernate mi fornisce per accedere ai file.Quale formato file dovrei utilizzare e come configuro il mio file persistence.xml per riconoscere i file come tabelle?

È stato utile?

Soluzione

L'ibernazione è scritta rispetto all'API JDBC.Quindi, hai bisogno di un driver JDBC che funzioni con il formato di file che ti interessa.Ovviamente, anche per l'accesso in sola lettura, questo non funzionerà bene, ma potrebbe comunque essere utile se non è una priorità alta.Su un sistema Windows, è possibile configurare origini dati ODBC per file di testo delimitati, file Excel, ecc.Quindi puoi configurare JdbcOdbcDriver nella tua applicazione Java per utilizzare questa origine dati.

Per la maggior parte delle applicazioni su cui lavoro, non prenderei in considerazione questo approccio;Utilizzerei un meccanismo di importazione/esportazione per convertire da un database reale (anche se si tratta di un database in-process come Berkeley DB o Derby) in file di testo.Sì, è un passaggio aggiuntivo, ma potrebbe essere automatizzato e le prestazioni non saranno probabilmente molto peggiori rispetto al tentativo di utilizzare direttamente i file di testo (probabilmente sarà molto migliore, nel complesso), e sarà più robusto e facile da sviluppare.

Altri suggerimenti

È venuta fuori una rapida ricerca su Google

Spero che questo possa fornire qualche ispirazione?

Come ha detto Erickson, la tua unica speranza è trovare un driver JDBC per questo compito.Forse c'è xlsql (driver CSV, XML ed Excel) che potrebbe adattarsi all'attività.Dopodiché, devi solo trovare o scrivere il dialetto di Hibernate più semplice adatto al tuo driver.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top