2008-08-28 16 views
6

Veritabanıma erişmek için bir Java uygulamasında Hibernate kullanıyorum ve MS-SQL ve MySQL ile oldukça iyi çalışıyor. Ancak bazı formlarda göstermem gereken bazı veriler Metin dosyalarından gelmeli ve Metin dosyaları ile İnsan Tarafından Okunabilir dosyaları kastediyorum, bunlar her satır için CSV, Sekmeyle sınırlandırılmış veya hatta bir anahtar değer çiftidir. Verilerim bu kadar basit, ancak benim tercihim XML dosyaları.Metin Dosyaları ile çalışmak için Hazırda Bekletme özelliğini kullanma

Soruma Soru: HQL, Query, EntityManager ve bu kaynakların tümünü kullanarak dosyaları okumak için hazırda bekletme kullanabilir miyim? Hangi dosya biçimini kullanmalı ve My persistence.xml dosyasını Dosyaları Tablolar olarak tanımak için nasıl yapılandırmalıyım?

cevap

7

Hazırda bekletme, JDBC API'sine karşı yazılmıştır. Bu nedenle, ilgilendiğiniz dosya formatıyla çalışan bir JDBC sürücüsüne ihtiyacınız var. Açıkçası, salt okunur erişim için bile, bu iyi performans göstermeyecek, ancak bu yüksek bir öncelik değilse de yararlı olabilir. Bir Windows sisteminde, ayrılmış metin dosyaları, Excel dosyaları vb. Için ODBC veri kaynaklarını ayarlayabilirsiniz. Daha sonra bu veri kaynağını kullanmak için Java uygulamanızda JdbcOdbcDriver'ı ayarlayabilirsiniz.

Üzerinde çalıştığım çoğu uygulama için bu yaklaşımı dikkate almayacağım; Gerçek bir veritabanından (Berkeley DB veya Derby gibi bir işlem içi veritabanı olsa bile) metin dosyalarına dönüştürmek için bir içe aktarma/dışa aktarma mekanizması kullanırdım. Evet, bu ek bir adımdır, ancak otomatik olabilir ve performans doğrudan metin dosyalarını kullanmaya çalışmaktan daha kötü değildir (genel olarak çok daha iyi olacaktır) ve daha sağlam olacaktır. Geliştirilmesi kolay.

0

erickson gibi, tek umudunuz bu görev için bir JDBC sürücüsü bulmakta olduğunu söyledi. Görevin sığabileceği xlsql (CSV, XML ve Excel sürücüsü) olabilir. Bundan sonra, sürücünüze uyan en basit Hibernate Dialect'i bulmanız veya yazmanız yeterlidir.

+1

xlsql için güncel link http://sourceforge.net/projects/xlsql/ Bu 2004 yılından beri alfa gibi görünüyor. –